管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

【Java】ディープコピーの実装方法

2024/6/20

【Java】ディープコピーの実装方法

ディープコピーの実装方法 [方法1] Cloneableを使ってディープコピー(clone)する Javaで提供されているCloneableインタフェースを実装することで、ディープコピーできます。 1. Cloneableをimplementsし、cloneメソッドを実装する Cloneableを使ってディープコピーを実装する場合は、コピー対象となるオブジェクトがCloneableをimplementsする必要があります。 そしてcloneメソッドをOverrideしclone処理を書きます。 具体的なサ ...

ディープコピーとシャローコピーの違い

2024/5/27

ディープコピーとシャローコピーの違い

「ディープコピー」と「シャローコピー」の違い シャローコピーとは シャローコピーとは浅い(shallow)コピーと呼ばれ、実体(データ)のコピーを行わないで、オブジェクトをコピーする方式です。要するに見せかけの複製を作るコピーです。 オブジェクトはメモリ上にある実体(データ)を参照します。シャローコピーでは、実体(データ)のコピーを行わないので、シャローコピーで生成されたオブジェクトは、コピー元オブジェクトと同じ実体(データ)を参照することとなります。 シャローコピーで作られたオブジェクトは、参照している ...

ディープコピー(deep copy)とは

2022/12/25

ディープコピー(deep copy)とは

ディープコピー(deep copy)とは ディープコピー(deep copy)とは深い(deep)コピーと呼ばれ、コピー元オブジェクトから実体(データ)を複製し別オブジェクトを生成する方式です。 オブジェクト(データを格納する箱※Beanクラス)はメモリ上にある実体(データ)を参照しています。 このオブジェクトに対して「ディープコピー」を行うと、コピーされたもう一つの「コピー先オブジェクト」が生成されます。 この時、メモリ上にある実体(データ)もコピーされます。これが「ディープコピー」です。 「ディープコ ...

シャローコピー(shallow copy)とは

2022/12/25

シャローコピー(shallow copy)とは

シャローコピー(shallow copy)とは シャローコピー(shallow copy)とは浅い(shallow)コピーと呼ばれ、コピー元オブジェクトから、同じ実体(データ)を参照する別オブジェクトを生成する方式です。 オブジェクト(データを格納する箱※Beanクラス)はメモリ上にある実体(データ)を参照しています。 このオブジェクトに対して「シャローコピー」を行うと、コピーされたもう一つの「コピー先オブジェクト」が生成されます。 見た目は2つのオブジェクトが存在するように見えますが、実際は「コピー元オ ...

【UML】クラス図とは | クラス図の書き方と記号

2024/5/13

【UML】クラス図とは | クラス図の書き方と記号

クラス図(class diagram)とは クラス図とは、クラスの定義や関連付けを示す図です。 システムを構成するクラスに定義されている属性(フィールド)や操作(メソッド)を表現し、クラス間がどう関連付けられているかの関係性をあらわします。 クラス定義 クラスの定義は以下のような図で定義します。 クラス名 クラス名は以下の形式で記述します。 ※パッケージ名は省略可能です。 属性 属性は以下の形式で記述します。 ※フィールド名以外は省略可能です。 操作 操作は以下の形式で記述します。 ※メソッド名以外は省略 ...

Eclipseでクラス図を自動生成する方法

2022/12/25

Eclipseでクラス図を自動生成する方法

Eclipseでクラス図を自動生成する方法 Eclipseのプラグイン「AmaterasUML」を使用してクラス図を自動生成する手順を紹介します。 GEFインストール AmaterasUMLを使うためには、GEFが必要です。まずはGEFのインストールを行います。 【手順1】新規ソフトウェアのインストールを開く Eclipseを起動し「ヘルプ(H)」→「新規ソフトウェアのインストール」を押下します。 【手順2】GEF SDKの選択 作業対象(W)に「http://download.eclipse.org/r ...

ウイルス

2022/12/25

マルウェアの種類 マルウェアとウイルスの違い

マルウェアの種類 コンピュータウイルス 経済産業省の「コンピュータウイルス対策基準」によると、「自己伝染機能」「潜伏機能」「発病機能」の3つの中で1つでも当てはまればコンピュータウイルスであると定義されています。 (1)自己伝染機能 自らの機能によって他のプログラムに自らをコピーし又はシステム機能を利用して自らを他のシステムにコピーすることにより、 他のシステムに伝染する機能 (2)潜伏機能 発病するための特定時刻、一定時間、処理回数等の条件を記憶させて、発病するまで症状を出さない機能 (3)発病機能 プ ...

サイバー攻撃

2022/12/25

【セキュリティ】サイバー攻撃の種類まとめ

サイバー攻撃の種類まとめ サイバー攻撃とは、特定の国家、企業、団体、個人に対しネットワークを通じて「破壊活動」や「データの改ざん」「データの窃取」などを行う行為です。国家の安全保障を脅かしたりすることを目的とする破壊活動は、サイバーテロともいわれています。 不正アクセスを試みる攻撃 辞書攻撃 辞書攻撃とは、辞書に載っている単語や単語の組み合わせからパスワードの候補を作り、その候補を片っ端から試すことによりパスワードを破ろうとする攻撃です。 相当な数が収録されている辞書からパスワードの候補を作り、その候補を ...

一般的なWebアプリケーションの脆弱性対策まとめ

2020/10/2

一般的なWebアプリケーションの脆弱性対策まとめ

Webアプリケーションの脆弱性対策まとめ Webエンジニアであれば、一般的な知識であるWebアプリケーションの脆弱性対策。 本記事では、Webアプリケーションの脆弱性対策を図解で分かりやすく解説していきます。 [対策1] クロスサイト・スクリプティング クロスサイトスクリプティング(XSS)とは、Webサイトの掲示板など閲覧者が投稿できる入力フォームから「悪意のあるスクリプト」を投稿することで、Webサイトのページ内に悪意のあるスクリプトを埋め込む攻撃。 そして、悪意のあるスクリプトを埋め込まれたWebサ ...

メールヘッダ・インジェクションとは

2024/5/29

メールヘッダ・インジェクションとは | 分かりやすく図解で解説

メールヘッダ・インジェクションとは Webサイトには「お問い合わせフォーム」や「アンケート」などのように特定の相手にメールを送信する機能があります。この時、Webサイトで入力した内容を送信する相手はシステム側で固定(主にWebサイトの管理者など)されているのが一般的です。 メールヘッダ・インジェクション攻撃は「お問い合わせフォーム」や「アンケート」などのように特定の相手にメールを送信する機能に対して、入力データを"改ざん"することで、メールの送信先を「悪意のある攻撃者」によって操作する攻撃のことをいいます ...

AMPページにコメント欄へのボタンを設置する方法

2022/12/25

AMPページにコメント欄へのボタンを設置する方法

【WordPress】AMPページにコメント欄へのボタンを設置する方法 AMPページに通常のコメント欄は表示されない AFFINGER5のコメント欄は以下のようなイメージですが、AMPを適用するとAMPページにコメント欄は表示されません。 AMPとはGoogleが推進する主にモバイルページの表示速度を高速に表示させるための技術です。AMPを適用することで、サイトの表示速度は高速となりますが、コメントのような一部の機能が使えなくなるデメリットがあります。   本記事では、AMPページにコメント欄へ ...

クロスサイトリクエストフォージェリ(CSRF)とは

2024/5/23

クロスサイトリクエストフォージェリ(CSRF)とは

クロスサイトリクエストフォージェリ(CSRF)とは クロスサイトリクエストフォージェリ(CSRF)とは、会員サイトなどでログイン状態を保持したまま「悪意のある攻撃者」が作成した罠サイトのボタンやリンクを押下することで、利用者の意図しない形でリクエストを送られてしまう攻撃です。 クロスサイトリクエストフォージェリ(CSRF)の説明の前に、セッションIDがどのようなものか理解しておくことをお勧めします。セッションIDの説明は以下をご覧ください。 [CSRFの流れ1] 会員サイトにログインする 悪意のある攻撃者 ...

ディレクトリトラバーサルとは

2022/12/25

ディレクトリトラバーサルとは | 分かりやすく図解で解説

ディレクトリトラバーサルとは ディレクトリトラバーサルとは、Webサイトからファイル名を直接指定するようなWebアプリケーションに対して、ファイル名を不正に書き換え、本来閲覧することができないファイルにアクセスする攻撃です。   例えば、以下のようなWebアプリケーションが存在するとします。 Webサーバには、以下の2つのファイルが存在。 /home/work/sample.txt :公開しているファイル /home/pass/password.txt :機密情報で公開していないファイル そして ...

OSコマンド・インジェクションとは

2022/12/25

OSコマンド・インジェクションとは

OSコマンド・インジェクションとは OSコマンド・インジェクションとは、Webサイトの入力フォームや掲示板などで「OSコマンド(※コンピュータへの命令文)」を含む文字列を送信することで、Webサーバに意図しない「OSコマンド」を実行させる攻撃です。 OSコマンド・インジェクション攻撃により発生しうる脅威は以下の通りです。 脅威 説明 サーバ内ファイルの不正操作 重要情報の漏洩(重要なファイルを閲覧される)や設定ファイルの改ざん、重要なファイルの削除など 不正なシステム操作 OSのシャットダウンやユーザアカ ...

サイバー攻撃

2024/6/20

セッションハイジャックとは | 分かりやすく図解で解説

セッションハイジャックとは セッションハイジャックとは、Webサイトなどで利用されるセッションIDを盗聴や推測で盗み出し、利用者に「なりすまし」不正アクセスを行うサイバー攻撃の一種です。 セッションIDとは 一般的に個人情報を扱う会員サイトはログイン画面があり、ログインIDとパスワードで認証することで会員サイトにログインします。 この時、ログインした会員のセッションを識別するIDとして「セッションID」が、サーバで払い出されます。Webサーバにより払い出された「セッションID」は、Webブラウザで情報を共 ...

セッションID

2024/5/23

セッションIDとは | 分かりやすく図解で解説

セッションIDとは セッションIDとは、Webサイトなどで通信中の利用者が使用するセッションを識別するためのIDのことです。セッションIDは一般的にログイン時にWebサーバにより払い出され、ログアウトするまで維持します。 Webサイトは複数のユーザが利用します。もしセッションIDが存在しないと、要求を受けたサーバは誰からのリクエストなのか判断できません。 このようにログイン時にセッションIDを払い出し、利用者を識別する仕組みのことを「セッション管理」といいます。 Webサーバにより払い出された「セッション ...

Dos攻撃

2023/12/9

DoS攻撃とは

DoS攻撃ってなに? DoS攻撃(Denial of Servicesの略)とは、攻撃の標的となったWebサイトやサーバに対して大量のデータを送信するサイバー攻撃の一種です。 大量データの負荷に耐えられなくなった、Webサイトやサーバはシステムを正常に稼働することが困難な状態に追い込まれます。 DoS攻撃には、以下の2通りが存在します。 名前 説明 フラッド型 Floodとは"洪水"という意味で、大量のデータや巨大なデータを送り付けることでサービスを利用不能にする攻撃。 脆弱性型 サービスの脆弱性を利用す ...

クリックジャッキングとは

2022/12/25

クリックジャッキングとは | 具体的な攻撃例

クリックジャッキングってなに? クリックジャッキングとは「透明で見えない罠ページ」と「真正なWebページ」を重ねて表示し、利用者に意図しない操作を行わせる手法です。 一般的に知名度のあるWebページや無害なWebページをiframeで読み込みます。そしてスタイルシート(CSS)などを利用して透明で見えない罠ページを作り、iframeで読み込んだ「真正なWebページ」と「罠ページ」を重ねて表示させます。 その結果、利用者は「罠ページ」が隠れていることに気がつきません。重ねて表示されている「真正なWebページ ...

標的型攻撃とは

2022/12/25

標的型攻撃とは?標的型攻撃の手口と被害事例

標的型攻撃ってなに? 標的型攻撃とは、標的を企業や特定の個人に狙いを定め、機密情報などを盗み取ることを目的とし、攻撃を繰り返し行うサイバー攻撃の一種です。 標的型攻撃は様々な手口で、標的となった企業や個人に攻撃を仕掛けてきます。よくある手口は、メールにマルウェア(ウイルス)を添付して直接、標的にメール(標的型攻撃メール)を送り付けるというシンプルな方法です。 標的型攻撃メールは「迷惑メール」とは違い、信頼できる企業などに「なりすまし」て送信してくるケースが多く、メールの内容も不自然ではないため、標的型攻撃 ...

ドライブバイダウンロードとは

2022/12/25

ドライブバイダウンロードとは

ドライブバイダウンロード ドライブバイダウンロードとは、利用者が知らないうちに何らかしらのソフトウェア(主にマルウェア)を勝手に利用者のパソコンにダウンロードし、実行させるサイバー攻撃の一種です。 ドライブバイダウンロードの被害に遭うケースは「悪意のある攻撃者」が用意したWebサイトだけではありません。安全だと考えられる有名なサイトからでも、ドライブバイダウンロードの被害に遭うことがあります。 攻撃者は、人が集まる有名なサイトに脆弱性がないか調査します。もし脆弱性がある場合、脆弱性を突いた攻撃をしてWeb ...