Digital-Forensics-Guide - デジタルフォレンジックをカバーするガイドは、デジタルフォレンジック開発であなたをより良く、より効率的にするアプリケーション、ライブラリ、ツールです。

(Digital Forensics Guide)

Created at: 2021-08-07 04:04:51
Language: Python


デジタルフォレンジックガイド

デジタルフォレンジックをカバーするガイドは、デジタルフォレンジック開発であなたをより良く、より効率的にするアプリケーション、ライブラリ、ツールです。

注:この便利な拡張子Markdown PDFを使用して、このマークダウンファイルをVSCodePDFに簡単に変換できます。


目次

  1. デジタルフォレンジック学習リソース

  2. デジタルフォレンジックツール、ライブラリ、フレームワーク

  3. 仮想化

  4. ファイル・システム

  5. セキュリティツールとフレームワーク

  6. ネットワーキング

デジタルフォレンジック学習リソース

ページの先頭へ戻る

デジタルフォレンジックは、犯罪捜査の過程でデジタルデバイスで見つかった資料を回収して保存するプロセスです。デジタルフォレンジックツールには、法執行機関がデジタル証拠を収集および保存し、法廷で仮説を支持または反論するために使用するハードウェアおよびソフトウェアツールが含まれます。

コンピュータフォレンジックは、デジタル情報に関する事実や意見を特定、保存、回復、分析、提示することを目的として、フォレンジックのような方法でデジタルメディアを調べるプロセスです。

モバイルデバイスフォレンジックは、受け入れられた方法を使用して、法医学的に健全な条件下でモバイルデバイスからデジタル証拠を回復する科学です。モバイルデバイスフォレンジックは、デジタルフォレンジックの分野で進化する専門分野です。

ネットワークフォレンジックは、ネットワーク環境内でサイバー犯罪を取り巻く情報の発見と検索を中心とする科学です。一般的なフォレンジックアクティビティには、サイバー攻撃のソースを確立するためにネットワーク上で発生したイベントのキャプチャ、記録、分析が含まれます。

データベース フォレンジックは、障害が発生したデータベースを調査し、データ セット内からメタデータとページ情報を再構築しようとするプロセスですが、データベースの復旧とは、データベースを運用環境に戻すのに十分な実行可能性、またはデータベースの復元で使用できるバックアップを提供するのに十分な健全性を実現する、ある種の復元プロセスを意味します。

コンピュータフォレンジックトレーニングコース|ウデミー

コンピュータフォレンジックコース|コースラ

オンラインコースとレッスンでコンピュータフォレンジックを学ぶ |エドックス

コンピュータフォレンジッククーレーゼラーニングパス - インフォセック研究所

国立コンピュータフォレンジック研究所(NCFI)トレーニングコース

コンピュータフォレンジックトレーニングとコース|Xウェイズ

Mile2の認定デジタルフォレンジック審査官トレーニングコース

サイバーセキュリティトレーニング、認定、学位、リソース|サンズ・インスティテュート

IACIS - BCFE:基本的なコンピュータフォレンジック審査官コース

デジタルフォレンジックツール、ライブラリ、フレームワーク

ページの先頭へ戻る

剖検®はデジタルフォレンジックプラットフォームであり、Sleuth Kit®やその他のデジタルフォレンジックツールへのグラフィカルインターフェイスです。これは、法執行機関、軍隊、および企業の審査官が、コンピューターで何が起こったのかを調査するために使用されます。あなたも、あなたのカメラのメモリカードから写真を回復するためにそれを使用することができます.

Sleuth Kit® (TSK) は、ディスクイメージを調査できるコマンドラインツールのライブラリとコレクションです。TSKのコア機能を使用すると、ボリュームとファイルシステムのデータを分析できます。ライブラリは、より大きなデジタルフォレンジックツールに組み込むことができ、コマンドラインツールを使用して証拠を直接見つけることができます。

PTK Forensics は、SleuthKit のコマンドラインツールと、さらに多くのソフトウェアモジュール用のコンピュータフォレンジックフレームワークです。

DFF(デジタルフォレンジックフレームワーク)は、専用のアプリケーションプログラミングインターフェイス(API)の上に構築されたフリーでオープンソースのコンピュータフォレンジックソフトウェアです。システムやデータを損なうことなく、デジタル証拠を迅速かつ簡単に収集、保存、開示するために、専門家と非専門家の両方によって使用できます。

モバイルデバイス調査官は、疑わしいデバイスをUSBポート経由で接続して論理的な取得を実行することで、iOSおよびAndroidデバイスの迅速な調査®を強化するセキュリティツールです。

Digital Evidence Investigator®は、Windows、Linux、macOS(T2およびM1チップを含む)用のデジタルフォレンジックツールです。DEI はデジタル証拠を収集し、タイムライン ビューで表示して、ユーザーをファイルや成果物に結び付けます。

Digital Evidence Investigator® PROは、Windows、Linux、macOS(T2およびM1チップを含む)のコンピュータフォレンジック機能を、Digital Evidence InvestigatorとモバイルデバイスInvestigator®® iOS/Androidの機能を1つのライセンスに含むツールです。

Guymagerは、メディア取得用の無料のフォレンジックイメージャです。その主な特徴は:異なる言語での簡単なユーザーインターフェイス。マルチスレッド、パイプライン設計、マルチスレッドデータ圧縮により、本当に高速です。フラット (dd)、EWF (E01)、および AFF イメージを生成し、ディスクのクローン作成をサポートします。無料で、完全にオープンソースです。

X-Ways Forensics は、Windows 向けの商用デジタル フォレンジック プラットフォームです。

X-Ways Investigatorは、警察の捜査官、弁護士、監査人向けのX-Waysフォレンジックの縮小版です。

WinHex は、16 進数エディター、ディスク エディター、および RAM エディターです。コンピュータフォレンジック、データ復旧、およびITセキュリティツール。

F-Responseは、リモートネットワークドライブ分析機能、リモートRAMアクセス、およびクラウドストレージアクセスです。

AccessData Forensics Toolkit (FTK®) は、速度、安定性、使いやすさのために構築されています。包括的な処理とインデックス作成を前もって提供するため、フィルタリングと検索は他のどの製品よりも高速です。つまり、関連する証拠にすばやく焦点を合わせることができ、分析速度を劇的に向上させることができます。

OpenText™ EnCase™ は商用フォレンジックプラットフォームです。デスクトップ、モバイルデバイス、GPSなど、25種類以上のデバイスからの証拠収集をサポートします。このツール内で、フォレンジック調査員は収集されたデータを検査し、定義済みのテンプレートに基づいて幅広いレポートを生成できます。

Redline®はFireEyeの最高の無料エンドポイントセキュリティツールで、メモリとファイルの分析と脅威評価プロファイルの開発を通じて悪意のあるアクティビティの兆候を見つけるためのホスト調査機能をユーザーに提供します。ホスト上で実行中のプロセス、メモリからのドライバに関する情報を収集し、メタデータ、レジストリデータ、タスク、サービス、ネットワーク情報、インターネット履歴などの他のデータを収集して、適切なレポートを作成します。

Parabenの電子証拠審査官 - E3は、フォレンジック検査プロセス全体に特化したParabenのパラダイムを遵守しながら、より多くのデータをより効率的に処理するように設計された包括的なデジタルフォレンジックプラットフォームです。Paraben には次の機能があります。

  • デスクトップフォレンジック
  • メールフォレンジック
  • スマートフォン分析
  • クラウド分析
  • IoTフォレンジック
  • トリアージと視覚化

バルク抽出は、デジタル証拠ファイルから電子メールアドレス、クレジットカード番号、URL、およびその他の種類の情報などの機能を抽出するプログラムです。マルウェアや侵入の調査、アイデンティティ調査やサイバー調査、画像やパスワードのクラッキングの分析など、多くのタスクに役立つフォレンジック調査ツールです。

レジストリ偵察は、アーセナル偵察によって開発された強力なコンピュータフォレンジックツールです。このツールは、Windowsシステムからレジストリデータを抽出、回復、および解析するために使用されます。Windowsレジストリファイルを手動で精査するプロセスは、非常に時間がかかることが判明し、重要な情報を回復する能力にギャップのある穴が残っています。

ボラティリティはメモリフォレンジックフレームワークです。インシデント対応とマルウェア分析に使用されます。このツールを使用すると、実行中のプロセス、ネットワークソケット、ネットワーク接続、DLL、レジストリハイブから情報を抽出できます。また、Windowsのクラッシュダンプファイルと休止状態ファイルから情報を抽出するためのサポートもあります。

WindowsSCOPEは、揮発性メモリの分析に使用される商用メモリフォレンジックおよびリバースエンジニアリングツールです。基本的には、マルウェアのリバースエンジニアリングに使用されます。Windowsカーネル、ドライバ、DLL、仮想メモリと物理メモリを分析する機能を提供します。

Wiresharkは、現存する中で最も広く使用されているネットワークトラフィック分析ツールです。ライブトラフィックをキャプチャしたり、保存されたキャプチャファイルを取り込む機能があります。

Network Miner は、Windows (Linux、macOS X、FreeBSD も) 用のオープンソースの Network Forensic Analysis Tool (NFAT) です。NetworkMinerは、パッシブネットワークスニファー/パケットキャプチャツールとして使用して、ネットワークにトラフィックを送信せずにオペレーティングシステム、セッション、ホスト名、および開いているポートを検出できます。

Xplicoはオープンソースのネットワークフォレンジック分析ツールです。これは、インターネットおよびネットワークプロトコルを使用するアプリケーションから有用なデータを抽出するために使用されます。HTTP、IMAP、POP、SMTP、SIP、TCP、UDP、TCPなど、一般的なプロトコルのほとんどをサポートしています。ツールの出力データは、SQLiteデータベースまたはMySQLデータベースに格納されます。また、IPv4 と IPv6 の両方もサポートしています。

酸素フォレンジック探偵は、モバイルデバイスに焦点を当てたフォレンジックのツールですが、モバイル、IoT、クラウドサービス、ドローン、メディアカード、バックアップ、デスクトッププラットフォームなど、さまざまなプラットフォームからデータを抽出できます。物理的な方法を使用してデバイスのセキュリティ(画面ロックなど)をバイパスし、さまざまなモバイルアプリケーションの認証データを収集します。

XRYは、モバイルデバイスフォレンジック用のさまざまな商用ツールのコレクションです。XRY Logical は、モバイルデバイスオペレーティングシステムとインターフェースし、目的のデータを抽出するために設計された一連のツールです。一方、XRY Physicalは物理リカバリ技術を使用してオペレーティングシステムをバイパスし、ロックされたデバイスの分析を可能にします。

SIFTワークステーションは、無料のデジタルフォレンジックツールを集約するもう1つのオープンソースのLinux仮想マシンです。このプラットフォームはSANSインスティテュートによって開発され、その使用は多くのコースで教えられています。

HashKeeperは、さまざまな情報源から寄贈されたフォレンジックインテリジェンスの中央データベースリポジトリで、通常は疑わしいシステムのフォレンジック調査の過程で法執行機関によって取得されます。

フォレンジックエクスプローラコマンドライン(FEX CLI)は、コンピュータフォレンジックと電子情報開示に使用されるフォレンジックデータ処理エンジンです。FEX CLI は、複数の同時処理インスタンスを生成するエンタープライズ レベルの仮想環境に対して、単一のワークステーションで実行できます。

FEXメモリイメージャ(FEXメモリ)は、容疑者のランニングコンピュータの物理的なランダムアクセスメモリ(RAM)をキャプチャするために設計された無料のイメージングツールです。これにより、研究者はメモリ内にのみ見つかった貴重なアーティファクトを回復および分析できます。

FEX Imager™ は、完全な MD5、SHA1、SHA256 ハッシュ認証を使用してビットレベルのフォレンジック イメージを取得またはハッシュする無料のフォレンジック イメージング プログラムです。物理ドライブ、論理ドライブ、フォルダとファイル、リモートデバイス(サーブレットを使用)を取得したり、フォレンジックイメージを再取得したりできます。

フォレンジックエクスプローラ™は、高度なソート、フィルタ、キーワード検索、データ復旧、スクリプト技術を備えた柔軟で使いやすいGUIです。大量のデータを迅速に処理し、複雑な調査タスクを自動化し、詳細なレポートを作成し、生産性を向上させることができます。

Rehexは、リバースエンジニアリングやその他のすべてのためのクロスプラットフォーム(Windows、Linux、Mac)の16進エディタです。

DIRTY は、カーネギーメロン大学のデータ発掘ラボを使用した社会技術研究によって開発された、学習された変数名と型を持つ拡張逆コンパイラ出力です。

仮想化

ページの先頭へ戻る

HVM (ハードウェア仮想マシン) は、ベアメタルハードウェア上で実行されるかのように、変更なしで仮想マシン上でオペレーティングシステムを直接実行する機能を提供する仮想化タイプです。

PV(ParaVirtualization)は、Xen Projectチームによって導入された効率的で軽量な仮想化技術であり、後に他の仮想化ソリューションで採用されました。PVはホストCPUからの仮想化拡張機能を必要としないため、ハードウェア支援仮想化をサポートしていないハードウェアアーキテクチャで仮想化を可能にします。

仮想化ベースのセキュリティ (VBS) は、メモリのセキュリティで保護された領域を作成して通常のオペレーティング システムから分離するためのハードウェア仮想化機能です。

ハイパーバイザー強制コード整合性 (HVCI) は、Hyper-V などのハイパーバイザーがハードウェア仮想化を使用して、悪意のあるコードや未検証のコードの挿入と実行からカーネル モード プロセスを保護するメカニズムです。コードの整合性の検証は、悪意のあるソフトウェアからの攻撃に強い安全な環境で実行され、カーネル モードのページ アクセス許可はハイパーバイザーによって設定および維持されます。

KVM(カーネルベースの仮想マシン用)は、仮想化拡張機能(Intel VTまたはAMD-V)を含むx86ハードウェア上のLinux用の完全仮想化ソリューションです。これは、コア仮想化インフラストラクチャを提供するロード可能なカーネルモジュールkvm.koと、プロセッサ固有のモジュールkvm-intel.koまたはkvm-amd.koで構成されています。

QEMU は、ポータブル動的変換プログラムを使用した高速プロセッサー・エミュレーターです。QEMU は、プロセッサーや各種周辺機器を含むシステム全体をエミュレートします。PCを再起動せずに別のオペレーティングシステムを起動したり、システムコードをデバッグしたりするために使用できます。

Hyper-V を使用すると、物理ホスト上で仮想化されたコンピューター システムを実行できます。これらの仮想化システムは、物理コンピューター・システムであるかのように使用および管理できますが、仮想化された分離された環境に存在します。ハイパーバイザーと呼ばれる特殊なソフトウェアは、仮想システムと物理ハードウェア・リソースの間のアクセスを管理します。仮想化により、コンピューター システムの迅速な展開、システムを既知の正常な状態にすばやく復元する方法、および物理ホスト間でシステムを移行できます。

VirtManager は libvirt 経由で仮想マシンを管理するためのグラフィカルツールです。ほとんどの使用法は QEMU/KVM 仮想マシンで行われますが、Xen および libvirt LXC コンテナーは十分にサポートされています。libvirt ドライバーの一般的な操作は動作するはずです。

oVirtはオープンソースの分散仮想化ソリューションで、エンタープライズインフラストラクチャ全体を管理するように設計されています。oVirt は信頼できる KVM ハイパーバイザーを使用し、libvirt、Gluster、PatternFly、Ansible.Founded by Red Hat Enterprise Virtualization が基づいているコミュニティプロジェクトとして、他のいくつかのコミュニティプロジェクトに基づいて構築されており、プラットフォームに依存しないアクセスを備えた使いやすい Web ベースのフロントエンドから、仮想マシン、コンピューティング、ストレージ、ネットワーキングリソースを一元管理できます。

HyperKit は、ハイパーバイザー機能をアプリケーションに埋め込むためのツールキットです。xhyve/bhyve に基づく完全なハイパーバイザーが含まれており、軽量の仮想マシンとコンテナーのデプロイ用に最適化されています。これは、VPNKitDataKit などの上位レベルのコンポーネントとインターフェイスできるように設計されています。HyperKit は現在、Hypervisor.framework を使用する macOS のみをサポートしており、Docker Desktop for Mac のコアコンポーネントとなっています。

インテル・グラフィックス・バーチャライゼーション・テクノロジー (インテル® GVT) は、インテル・プロセッサー・グラフィックス (ブロードウェル以降) を搭載した第 4 世代インテル Core (TM) プロセッサーから始まる、仲介パススルーを備えた完全な GPU 仮想化ソリューションです。®複数のゲスト仮想マシンのGPUを仮想化するために使用でき、仮想マシンでネイティブに近いグラフィックスパフォーマンスを効果的に提供しながら、ホストに仮想化されたGPUを通常どおり使用させることができます。

Apple Hypervisorは、サードパーティのカーネル拡張なしで、軽量ハイパーバイザーの上に仮想化ソリューションを構築するframeowrkです。ハイパーバイザーは C API を提供しているため、カーネル・エクステンション (KEXT) を記述することなく、ユーザー空間で仮想化テクノロジーと対話できます。その結果、このフレームワークを使用して作成したアプリケーションは、Mac App Store での配布に適しています。

Apple Virtualization Framework は、Apple シリコンおよび Intel ベースの Mac コンピュータ上で仮想マシンを作成および管理するための高レベルの API を提供するフレームワークです。このフレームワークは、定義したカスタム環境で Linux ベースのオペレーティング・システムをブートして実行するために使用されます。また、ネットワーク、ソケット、シリアルポート、ストレージ、エントロピー、メモリバルーンデバイスなど、多くのデバイスタイプの標準インターフェイスを定義するVirtio仕様もサポートしています。

Apple Paravirtualized Graphics Framework は、仮想マシン (以下ゲスト) で実行されている macOS 用のハードウェアアクセラレーショングラフィックスを実装するフレームワークです。オペレーティング・システムは、ゲスト内で実行されるグラフィックス・ドライバーを提供し、ホスト・オペレーティング・システムのフレームワークと通信して、メタル・アクセラレーション・グラフィックスを活用します。

クラウドハイパーバイザーは、KVM 上で実行されるオープン ソースの仮想マシン モニター (VMM) です。このプロジェクトは、限られたハードウェアアーキテクチャとプラットフォームのセットに加えて、最新のクラウドワークロードのみを実行することに焦点を当てています。クラウドワークロードとは、通常、クラウドプロバイダー内の顧客によって実行されるワークロードを指します。Cloud Hypervisor は Rust に実装されており、rust-vmm クレートに基づいています。

VMware vSphere ハイパーバイザーは、サーバーを仮想化するベアメタルハイパーバイザーです。これにより、アプリケーションを統合しながら、ITインフラストラクチャの管理にかかる時間とコストを節約できます。

Xenは、サーバー仮想化、サービスとしてのインフラストラクチャ(IaaS)、デスクトップ仮想化、セキュリティアプリケーション、組み込みおよびハードウェアアプライアンス、自動車/航空など、さまざまな商用およびオープンソースアプリケーションで仮想化を推進することに重点を置いています。

Ganetiは、XenやKVMなどの既存の仮想化技術やその他のオープンソースソフトウェアの上に構築された仮想マシンクラスタ管理ツールです。インストールが完了すると、このツールは仮想インスタンス(Xen DomU)の管理を引き受けます。

パッカーは、単一のソース構成から複数のプラットフォーム用に同一のマシンイメージを作成するためのオープンソースツールです。Packer は軽量で、すべての主要なオペレーティング システムで動作し、パフォーマンスが高く、複数のプラットフォーム用のマシン イメージを並行して作成します。パッカーは、シェフやパペットのような構成管理を置き換えるものではありません。実際、イメージを構築するとき、パッカーは Chef や Puppet などのツールを使用してイメージにソフトウェアをインストールできます。

Vagrantは、単一のワークフローで仮想マシン環境を構築および管理するためのツールです。使いやすいワークフローと自動化に重点を置いたVagrantは、開発環境のセットアップ時間を短縮し、生産パリティを向上させ、「私のマシンで作業」を過去の遺物に言い訳します。業界標準のテクノロジーの上に構築され、単一の一貫したワークフローによって制御される、構成が容易で再現可能でポータブルな作業環境を提供し、あなたとあなたのチームの生産性と柔軟性を最大化するのに役立ちます。

Parallels Desktop はデスクトップハイパーバイザーで、Mac (新しい Apple M1 チップを含む) と ChromeOS で Windows/Linux を実行するための、最も速く、最も簡単で、最も強力なアプリケーションを提供します。

VMware Fusion はデスクトップ ハイパーバイザーで、デスクトップおよび「サーバー」仮想マシン、コンテナー、Kubernetes クラスターを Mac 上の開発者や IT プロフェッショナルに提供します。

VMware Workstation は、x64 バージョンの Windows および Linux オペレーティング システム上で実行されるホスト型ハイパーバイザーです。これにより、ユーザーは単一の物理マシンに仮想マシンを設定し、実際のマシンと同時に使用できます。

ファイル・システム

ページの先頭へ戻る

GlusterFSは、フリーでオープンソースのスケーラブルなネットワークファイルシステムです。Gluster はスケーラブルなネットワークファイルシステムです。一般的な既製のハードウェアを使用して、メディア ストリーミング、データ分析、およびその他のデータや帯域幅を大量に消費するタスクのための大規模な分散ストレージ ソリューションを作成できます。

Cephは、データセンターのオブジェクト、ブロック、ファイルストレージのニーズに対応するように設計されたソフトウェア定義のストレージソリューションで、高成長のブロックストレージ、オブジェクトストア、データレイクの新しい標準としてオープンソースを採用しています。Cephは、CAPEXおよびOPEXコストを基礎となるバルクコモディティディスク価格に合わせながら、エンタープライズスケーラブルなストレージを提供します。

Hadoop 分散ファイル システム (HDFS) は、コモディティ ハードウェア上で実行されている大規模なデータ セットを処理する分散ファイル システムです。これは、単一のApache Hadoopクラスタを数百(さらには数千)のノードにスケーリングするために使用されます。HDFS は Apache Hadoop の主要なコンポーネントの 1 つであり、他は MapReduceYARN です

ZFSは、エンタープライズ対応のオープンソースファイルシステムおよびボリュームマネージャであり、これまでにない柔軟性とデータ整合性に対する妥協のないコミットメントを備えています。

OpenZFS はオープンソースのストレージプラットフォームです。これには、従来のファイル・システムとボリューム・マネージャの両方の機能が含まれています。それは以下を含む多くの高度な機能を持っています:

  • データ破損に対する保護。
  • データとメタデータの両方の整合性チェック。
  • 継続的な完全性検証と自動「自己修復」修復。

Btrfs is a modern copy on write (CoW) filesystem for Linux aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration. Its main features and benefits are:

  • Snapshots which do not make the full copy of files
  • RAID - support for software-based RAID 0, RAID 1, RAID 10
  • Self-healing - checksums for data and metadata, automatic detection of silent data corruptions

Squashfs is a compressed read-only filesystem for Linux. It uses zlib, lz4, lzo, or xz compression to compress files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimize data overhead.

Apple File System (APFS) is the default file system for Mac computers using macOS 10.13 or later, features strong encryption, space sharing, snapshots, fast directory sizing, and improved file system fundamentals.

NTFS(New Technology File System)は、WindowsおよびWindows Serverの最新バージョンのプライマリ・ファイル・システムであり、セキュリティ記述子、暗号化、ディスク・クォータ、リッチ・メタデータなどの機能の完全なセットを提供し、クラスタ共有ボリューム(CSV)とともに使用して、フェイルオーバー・クラスタの複数のノードから同時にアクセスできる継続的に使用可能なボリュームを提供できます。

exFAT(拡張ファイルアロケーションテーブル)は、FATファミリのファイルシステムでFAT32の後継となったファイルシステムです。USBフラッシュドライブやSDカードなどのフラッシュメモリ用に最適化されました。

セキュリティツールとフレームワーク

ページの先頭へ戻る

セキュリティ標準、フレームワーク、ベンチマーク

STIG ベンチマーク - セキュリティ技術実装ガイド

CIS ベンチマーク - CIS Center for Internet Security

NIST - 現在の FIPS

ISO規格カタログ

情報技術セキュリティ評価のためのコモンクライテリア(CC)は、コンピュータセキュリティの国際規格(ISO / IEC 15408)です。これにより、客観的な評価で、特定の製品が定義された一連のセキュリティ要件を満たしていることを検証できます。

ISO 22301は、最適化されたBCMS(事業継続管理システム)を実装するためのベストプラクティスフレームワークを提供する国際規格です。

ISO27001は、ISMS(情報セキュリティマネジメントシステム)の要求事項を定めた国際規格です。このフレームワークは、組織がセキュリティプラクティスを 1 か所で一貫してコスト効率よく管理できるように設計されています。

ISO 27701は、ISO 27001の要件に基づいてPIMS(プライバシー情報管理システム)の要件を規定しています。これは、プライバシー固有の要件、制御目標、および制御のセットによって拡張されます。ISO 27001 を導入した企業は、ISO 27701 を使用して、プライバシー管理をカバーするセキュリティの取り組みを拡張できます。

EU GDPR(一般データ保護規則)は、EU全域の既存の国内データ保護法に取って代わるプライバシーおよびデータ保護法であり、企業/組織が遵守すべき主要なデータ保護法を1つだけ導入することで統一性をもたらします。

CCPA(カリフォルニア州消費者プライバシー法)は、カリフォルニア州で2020年1月1日に施行されたデータプライバシー法です。これは、カリフォルニア州の居住者の個人情報を収集する企業に適用され、そのプライバシー要件はEUのGDPR(一般データ保護規則)のプライバシー要件に似ています。

ペイメントカード業界(PCI)データセキュリティ標準(DSS)は、クレジットカードデータの管理を強化することで詐欺を防止するために設計されたグローバルな情報セキュリティ標準です。

SOC 2 は、サービスプロバイダーがデータを安全に管理して、会社/組織の利益とクライアントのプライバシーを保護する監査手順です。

NIST CSFは、主に重要なインフラストラクチャ組織が既存のベストプラクティスに基づいてサイバーセキュリティリスクを管理および軽減することを目的とした自発的なフレームワークです。

セキュリティツール

Netdataは忠実度の高いインフラストラクチャの監視とトラブルシューティングであり、リアルタイム監視エージェントは、構成がゼロのシステム、ハードウェア、コンテナ、およびアプリケーションから何千ものメトリックを収集します。すべての物理/仮想サーバー、コンテナ、クラウド展開、エッジ/IoTデバイスで永続的に実行され、インシデントの途中で準備なしでシステムにインストールしても完全に安全です。

IDA Pro(Interactive DisAssembler Professional)は、ローカル/リモートデバッガと組み合わせたプログラマブルでマルチプロセッサの逆アセンブラで、完全なプラグインプログラミング環境を備えています。セキュリティの脆弱性をテストして発見するための優れたツールです。

Ghidraは、NSAのサイバーセキュリティミッションのためにNSAの研究局によって開発されたソフトウェアリバースエンジニアリング(SRE)フレームワークです。悪意のあるコードやウイルスなどのマルウェアの分析に役立ち、サイバーセキュリティの専門家がネットワークやシステムの潜在的な脆弱性をよりよく理解できるようにします。

DataWave は、Apache Accumulo を活用して高速で安全なデータ アクセスを提供する取り込み/クエリ フレームワークです。

Emissaryは、P2Pベースのデータ駆動型ワークフローエンジンで、コンピューティングリソースの異種混在の、おそらく広く分散した多層P2Pネットワークで実行されます。ワークフローの旅程は、従来のワークフロー エンジンのように事前に計画されているわけではありませんが、データに関するより多くの情報が発見されるにつれて検出されます。

MADCert は、証明書ジェネレーター、ファイル システム証明書マネージャー、およびテスト用のコマンド ライン インターフェイスで構成されるクロスプラットフォーム ツールです。

BLESS(Bastion の Lambda Ephemeral SSH Service) は、AWS Lambda 関数として実行され、SSH 公開鍵に署名するために使用される SSH 認証局です。

ZuulL7 アプリケーション ゲートウェイで、動的ルーティング、監視、回復性、セキュリティなどの機能を提供します。

Chaos Monkey は、アプリケーションがランダムなインスタンスの障害を許容するのに役立つ回復性ツールです。継続的デリバリープラットフォームであるSpinnakerと完全に統合されています。Chaos Monkey は、Spinnaker がサポートするバックエンド (AWS、Google Compute Engine、Azure、Kubernetes、Cloud Foundry) で動作します。

Priamは、Cassandraのバックアップ/リカバリ、トークン管理、および集中構成管理のためのツール/プロセスです。

Vectorは、すべてのエンジニアのブラウザに厳選された高解像度メトリックを公開するオンホストパフォーマンス監視フレームワークです。

制御グループ (Cgroups) は Linux カーネルの機能で、CPU 時間、システム・メモリー、ネットワーク帯域幅、またはこれらのリソースの任意の組み合わせなどのリソースを、システム上で実行されているユーザー定義のタスク・グループ (プロセス) に割り当てることができます。

Libgcryptは、もともとGnuPGのコードに基づいた汎用の暗号ライブラリです。

Aircrack-ngは、検出器、パケットスニファ、WEP、WPA/WPA2-PSKクラッカー、および802.11ワイヤレスLAN用の分析ツールで構成されるネットワークソフトウェアスイートです。これは、ドライバが生の監視モードをサポートし、802.11a、802.11b、および802.11gトラフィックをスニッフィングできるワイヤレスネットワークインターフェイスコントローラで動作します。

Burp Suiteは、サイバーセキュリティツールのリーディングレンジです。

Cilium は eBPF を使用して、Envoy などの L7 プロキシとの間でデータの送受信を高速化し、HTTP、gRPC、Kafka などの API プロトコルを効率的に可視化できるようにします。

Hubbleは、eBPFを使用したKubernetesのためのネットワーク、サービス、セキュリティの可観測性です。

Istio は、マイクロサービスを接続、管理、およびセキュリティで保護するためのオープン プラットフォームです。Istio のコントロール プレーンは、Kubernetes や Mesos などの基になるクラスター管理プラットフォーム上に抽象化レイヤーを提供します。

Certgen は、ハッブルリレー mTLS の証明書を生成して保存するための便利なツールです。

Scapy は Python ベースのインタラクティブなパケット操作プログラムとライブラリです。

syzkaller は、教師なしのカバレッジガイド付きカーネルファジーザーです。

SchedViz は、Linux マシン上のカーネルスケジューリングトレースを収集して視覚化するためのツールです。

oss-fuzz は、最新のファジー化手法とスケーラブルで分散した実行を組み合わせることで、一般的なオープンソースソフトウェアをより安全で安定したものにすることを目指しています。

OSSEC は、無料のオープンソースのホストベースの侵入検知システムです。ログ分析、整合性チェック、Windows レジストリの監視、ルートキットの検出、時間ベースのアラート、およびアクティブな応答を実行します。

Metasploit Project は、セキュリティの脆弱性に関する情報を提供し、侵入テストと IDS シグネチャ開発を支援するコンピュータセキュリティプロジェクトです。

Wfuzzは、Webアプリケーション評価のタスクを容易にするために作成され、単純な概念に基づいています:それは与えられたペイロードの値でFUZZキーワードへの参照を置き換えます。

Nmapは、コンピュータネットワーク上のホストやサービスを検出するために使用されるセキュリティスキャナであり、ネットワークの「マップ」を構築する。

Patchworkは、オープンソースプロジェクトへの貢献と管理を容易にするために設計されたWebベースのパッチ追跡システムです。

pfSenseは、統合された脅威管理、ロードバランシング、マルチWANなども備えた、フリーでオープンソースのファイアウォールおよびルーターです。

Snortは、LinuxおよびWindowsが新たな脅威を検出するためのオープンソースのフリーで軽量なネットワーク侵入検知システム(NIDS)ソフトウェアです。

Wiresharkは無料でオープンソースのパケットアナライザです。ネットワークのトラブルシューティング、分析、ソフトウェアおよび通信プロトコルの開発、および教育に使用されます。

OpenSCAP は、米国国立標準技術研究所 (NIST) によって維持されている米国標準です。管理者と監査人がセキュリティ ベースラインの評価、測定、および適用を支援する複数のツールを提供します。OpenSCAP は、セキュリティ監査の実行コストを削減することで、優れた柔軟性と相互運用性を維持します。DISA STIG、NISTのUSGCB、Red Hatのセキュリティレスポンスチームのコンテンツのいずれを評価したい場合でも、すべてOpenSCAPによってサポートされています。

Tink は、安全で正しく使いやすく、誤用しにくい暗号化 API を提供する、多言語、クロスプラットフォームのオープン ソース ライブラリです。

OWASPはオンラインコミュニティであり、Webアプリケーションセキュリティの分野で自由に利用可能な記事、方法論、ドキュメント、ツール、および技術を制作しています。

Open Vulnerability and Assessment Language は、コンピュータシステムのマシンの状態を評価および報告する方法を標準化するためのコミュニティの取り組みです。OVAL には、システムの詳細をエンコードするための言語と、コンテンツのコミュニティリポジトリが含まれています。OVALを使用するツールとサービスは、セキュリティを向上させるための正確で一貫性のある実用的な情報を企業に提供します。

ネットワーキング

ページの先頭へ戻る


ネットワーク学習リソース

AWS 認定セキュリティ - 専門分野認証

マイクロソフト認定: Azure セキュリティ エンジニア アソシエイト

Google Cloud 認定プロフェッショナル クラウド セキュリティ エンジニア

シスコのセキュリティ認定

Red Hat 認定セキュリティスペシャリスト: Linux

LinuxプロフェッショナルインスティテュートLPIC-3エンタープライズセキュリティ認定

IBMスキルによるサイバーセキュリティ・トレーニングとコース

攻撃的セキュリティによるサイバーセキュリティコースと認定資格

シトリックス認定アソシエイト - ネットワーキング(CCA-N)

シトリックス認定プロフェッショナル - 仮想化(CCP-V)

CCNP ルーティングとスイッチング

情報セキュリティ管理者(CISM)

Wireshark Certified Network Analyst (WCNA)

ジュニパーネットワークス認定プログラムエンタープライズ(JNCP)

コースラのネットワーキングコースと専門分野

Udemyのネットワーク&セキュリティコース

edX の Network & Security Courses

ネットワーキングツールとコンセプト

cURLは、さまざまなネットワークプロトコル(HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP LDAPS、MQTT、POP3、POP3S、RTMP、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTPまたはSMTPS)を使用してデータを転送するためのライブラリとコマンドラインツールを提供するコンピュータソフトウェアプロジェクトです。cURLは、自動車、テレビ、ルーター、プリンター、オーディオ機器、携帯電話、タブレット、セットトップボックス、メディアプレーヤーでも使用され、100億以上のインストールで何千ものソフトウェアアプリケーションのインターネット転送エンジンです。

cURL ファジーザーは、カールプロジェクトの品質保証テストです。

DoH は、DoH (DNS-over-HTTPS) の名前解決とルックアップのためのスタンドアロン アプリケーションです。

HTTPie はコマンドラインの HTTP クライアントです。その目標は、CLIとWebサービスとの対話をできるだけ人間に優しいものにすることです。HTTPie は、テスト、デバッグ、および一般的に API や HTTP サーバーとの対話のために設計されています。

HTTPStat は、カール統計をシンプルなレイアウトで視覚化するツールです。

Wuzz は、HTTP インスペクション用の対話型 cli ツールです。これは、「cURLとしてコピー」機能を使用してブラウザのネットワークインスペクタからコピーされたリクエストを検査/変更するために使用できます。

WebsocatはWebSockets用のommand行クライアントで、高度なsocatのような機能を持つ ws:// 用のnetcat(またはcurl)のようなものです。

• Connection: In networking, a connection refers to pieces of related information that are transferred through a network. This generally infers that a connection is built before the data transfer (by following the procedures laid out in a protocol) and then is deconstructed at the at the end of the data transfer.

• Packet: A packet is, generally speaking, the most basic unit that is transferred over a network. When communicating over a network, packets are the envelopes that carry your data (in pieces) from one end point to the other.

パケットには、送信元と宛先、タイムスタンプ、ネットワークホップなど、パケットに関する情報を含むヘッダー部分があります。パケットの主要部分には、転送される実際のデータが含まれています。ボディまたはペイロードと呼ばれることもあります。

• Network Interface: A network interface can refer to any kind of software interface to networking hardware. For instance, if you have two network cards in your computer, you can control and configure each network interface associated with them individually.

ネットワークインタフェースは、物理デバイスに関連付けられている場合もあれば、仮想インタフェースの表現である場合もあります。ローカルマシンへの仮想インタフェースである「ループバック」デバイスは、この例です。

• LAN: LAN stands for "local area network". It refers to a network or a portion of a network that is not publicly accessible to the greater internet. A home or office network is an example of a LAN.

• WAN: WAN stands for "wide area network". It means a network that is much more extensive than a LAN. While WAN is the relevant term to use to describe large, dispersed networks in general, it is usually meant to mean the internet, as a whole.

インターフェイスが WAN に接続されている場合、通常はインターネット経由で到達可能であると見なされます。

• Protocol: A protocol is a set of rules and standards that basically define a language that devices can use to communicate. There are a great number of protocols in use extensively in networking, and they are often implemented in different layers.

一部の低レベルプロトコルには、TCP、UDP、IP、および ICMP があります。これらの下位プロトコル上に構築されたアプリケーション層プロトコルの馴染みのある例としては、HTTP (Web コンテンツにアクセスするため)、SSH、TLS/SSL、FTP などがあります。

• Port: A port is an address on a single machine that can be tied to a specific piece of software. It is not a physical interface or location, but it allows your server to be able to communicate using more than one application.

• Firewall: A firewall is a program that decides whether traffic coming into a server or going out should be allowed. A firewall usually works by creating rules for which type of traffic is acceptable on which ports. Generally, firewalls block ports that are not used by a specific application on a server.

• NAT: Network address translation is a way to translate requests that are incoming into a routing server to the relevant devices or servers that it knows about in the LAN. This is usually implemented in physical LANs as a way to route requests through one IP address to the necessary backend servers.

• VPN: Virtual private network is a means of connecting separate LANs through the internet, while maintaining privacy. This is used as a means of connecting remote systems as if they were on a local network, often for security reasons.

ネットワーク層

While networking is often discussed in terms of topology in a horizontal way, between hosts, its implementation is layered in a vertical fashion throughout a computer or network. This means is that there are multiple technologies and protocols that are built on top of each other in order for communication to function more easily. Each successive, higher layer abstracts the raw data a little bit more, and makes it simpler to use for applications and users. It also allows you to leverage lower layers in new ways without having to invest the time and energy to develop the protocols and applications that handle those types of traffic.

As data is sent out of one machine, it begins at the top of the stack and filters downwards. At the lowest level, actual transmission to another machine takes place. At this point, the data travels back up through the layers of the other computer. Each layer has the ability to add its own "wrapper" around the data that it receives from the adjacent layer, which will help the layers that come after decide what to do with the data when it is passed off.

One method of talking about the different layers of network communication is the OSI model. OSI stands for Open Systems Interconnect.This model defines seven separate layers. The layers in this model are:

• Application: The application layer is the layer that the users and user-applications most often interact with. Network communication is discussed in terms of availability of resources, partners to communicate with, and data synchronization.

• Presentation: The presentation layer is responsible for mapping resources and creating context. It is used to translate lower level networking data into data that applications expect to see.

• Session: The session layer is a connection handler. It creates, maintains, and destroys connections between nodes in a persistent way.

• Transport: The transport layer is responsible for handing the layers above it a reliable connection. In this context, reliable refers to the ability to verify that a piece of data was received intact at the other end of the connection. This layer can resend information that has been dropped or corrupted and can acknowledge the receipt of data to remote computers.

• Network: The network layer is used to route data between different nodes on the network. It uses addresses to be able to tell which computer to send information to. This layer can also break apart larger messages into smaller chunks to be reassembled on the opposite end.

• Data Link: This layer is implemented as a method of establishing and maintaining reliable links between different nodes or devices on a network using existing physical connections.

• Physical: The physical layer is responsible for handling the actual physical devices that are used to make a connection. This layer involves the bare software that manages physical connections as well as the hardware itself (like Ethernet).

TCP/IP モデル (より一般的にはインターネット・プロトコル・スイートとして知られています) は、より単純で広く採用されているもう 1 つの階層化モデルです。これは 4 つの別々の層を定義し、そのうちのいくつかは OSI モデルと重複します。

• Application: In this model, the application layer is responsible for creating and transmitting user data between applications. The applications can be on remote systems, and should appear to operate as if locally to the end user.

通信はピアネットワーク間で行われます。

• Transport: The transport layer is responsible for communication between processes. This level of networking utilizes ports to address different services. It can build up unreliable or reliable connections depending on the type of protocol used.

• Internet: The internet layer is used to transport data from node to node in a network. This layer is aware of the endpoints of the connections, but does not worry about the actual connection needed to get from one place to another. IP addresses are defined in this layer as a way of reaching remote systems in an addressable manner.

• Link: The link layer implements the actual topology of the local network that allows the internet layer to present an addressable interface. It establishes connections between neighboring nodes to send data.

インターフェイス

インタフェースは、コンピュータのネットワーク通信ポイントです。各インターフェイスは、物理ネットワーク デバイスまたは仮想ネットワーク デバイスに関連付けられています。通常、サーバーには、使用しているイーサネットまたはワイヤレスインターネットカードごとに1つの設定可能なネットワークインターフェイスがあります。さらに、「ループバック」またはローカルホストインターフェイスと呼ばれる仮想ネットワークインターフェイスを定義します。これは、1 台のコンピューター上のアプリケーションやプロセスを他のアプリケーションやプロセスに接続するためのインターフェイスとして使用されます。これは、多くのツールで "lo" インターフェイスとして参照されていることがわかります。

ネットワークプロトコル

ネットワーキングは、互いに重なり合った多数の異なるプロトコルにピギーバックすることによって機能します。このようにして、1つのデータを、互いにカプセル化された複数のプロトコルを使用して送信することができます。

メディアアクセス制御(MAC)は、特定のデバイスを区別するために使用される通信プロトコルです。各デバイスは、製造プロセス中にインターネット上の他のすべてのデバイスと区別する一意のMACアドレスを取得することになっています。MACアドレスでハードウェアをアドレス指定すると、上部のソフトウェアが動作中にその特定のデバイスの名前を変更する場合でも、一意の値でデバイスを参照できます。メディア アクセス制御は、リンク層から定期的に対話する可能性のある唯一のプロトコルの 1 つです。

IPプロトコルは、インターネットを機能させる基本的なプロトコルの1つです。IPアドレスは各ネットワークで一意であり、マシンがネットワークを介して互いにアドレス指定できるようにします。これは、IP/TCP モデルのインターネット層に実装されます。ネットワークは相互にリンクできますが、ネットワークの境界を越えるときにトラフィックをルーティングする必要があります。このプロトコルは、信頼性の低いネットワークと、動的に変更できる同じ宛先への複数のパスを想定しています。プロトコルにはさまざまな実装があります。今日最も一般的な実装はIPv4ですが、利用可能なIPv4アドレスの不足とプロトコル機能の改善により、IPv6は代替手段として人気が高まっています。

ICMP:インターネット制御メッセージプロトコルは、可用性またはエラー状態を示すためにデバイス間でメッセージを送信するために使用されます。これらのパケットは、ping や traceroute などのさまざまなネットワーク診断ツールで使用されます。通常、ICMP パケットは、異なる種類のパケットが何らかの問題に遭遇したときに送信されます。基本的には、ネットワーク通信のフィードバックメカニズムとして使用されます。

TCP: 伝送制御プロトコルは、IP/TCP モデルのトランスポート層に実装され、信頼性の高い接続を確立するために使用されます。TCP は、データをパケットにカプセル化するプロトコルの 1 つです。次に、下位層で使用可能なメソッドを使用して、これらを接続のリモート・エンドに転送します。他方では、エラーをチェックし、特定の部分を再送するように要求し、情報を1つの論理部分に再構成してアプリケーション層に送信することができます。このプロトコルは、3ウェイハンドシェイクと呼ばれるシステムを使用して、データ転送の前に接続を構築します。これは、通信の両端が要求を認識し、データの信頼性を確保する方法に同意する方法です。データが送信されると、同様の 4 ウェイ ハンドシェイクを使用して接続が切断されます。TCPは、WWW、FTP、SSH、および電子メールを含む、インターネットの最も一般的な用途の多くに最適なプロトコルです。私たちが今日知っているインターネットは、TCPなしではここにはなかったと言っても過言ではありません。

UDP:ユーザーデータグラムプロトコルは、TCPの一般的なコンパニオンプロトコルであり、トランスポート層にも実装されています。UDPとTCPの基本的な違いは、UDPが信頼性の低いデータ転送を提供することです。接続のもう一方の端でデータが受信されたかどうかは検証されません。これは悪いことのように聞こえるかもしれませんが、多くの目的のためにそうです。ただし、一部の機能にとっても非常に重要です。データが受信され、データを再送信することを強制されたという確認を待つ必要はなく、UDPはTCPよりもはるかに高速です。リモートホストとの接続は確立せず、単にそのホストへのデータを起動し、受け入れられるかどうかは気にしません。UDP は単純なトランザクションであるため、ネットワーク リソースのクエリなどの単純な通信に役立ちます。また、状態も維持されないため、1 台のマシンから多数のリアルタイム クライアントにデータを送信するのに最適です。これにより、遅延を許容できないVOIP、ゲーム、およびその他のアプリケーションに最適です。

HTTP:ハイパーテキスト転送プロトコルは、Web上の通信の基礎を形成するアプリケーション層で定義されたプロトコルです。HTTP は、ユーザーが要求しているものをリモート・システムに通知する多数の関数を定義します。たとえば、GET、POST、および DELETE はすべて、要求されたデータと異なる方法で対話します。

FTP:ファイル転送プロトコルはアプリケーション層にあり、あるホストから別のホストに完全なファイルを転送する方法を提供します。本質的に安全でないため、パブリックなダウンロード専用リソースとして実装されていない限り、外部に面したネットワークには推奨されません。

DNS:ドメインネームシステムは、インターネットリソースに人間に優しい命名メカニズムを提供するために使用されるアプリケーション層プロトコルです。これは、ドメイン名をIPアドレスに結びつけ、ブラウザで名前でサイトにアクセスできるようにするものです。

SSH:セキュアシェルは、アプリケーション層に実装された暗号化されたプロトコルで、安全な方法でリモートサーバーと通信するために使用できます。このプロトコルには、エンドツーエンドの暗号化とユビキタス性があるため、多くの追加技術が構築されています。私たちがカバーしていない他の多くのプロトコルは、同様に重要です。ただし、これにより、インターネットとネットワークを可能にするいくつかの基本技術の概要がわかります。

JSON Web トークン (JWT) は、2 者間で転送される要求を表すコンパクトな URL セーフな手段です。JWT 内の要求は、JSON Web 署名 (JWS) を使用してデジタル署名された JSON オブジェクトとしてエンコードされます。

OAuth 2.0 は、アプリケーションが Amazon 、Google、Facebook、Microsoft、Twitter GitHub、DigitalOcean などの HTTP サービス上のユーザー アカウントへの制限付きアクセスを取得できるようにする、オープン ソースの承認フレームワークです。これは、ユーザー アカウントをホストするサービスにユーザー認証を委任し、サード パーティ製アプリケーションがユーザー アカウントにアクセスすることを承認することによって機能します。

貢献する

ライセンス

ページの先頭へ戻る

クリエイティブ・コモンズ 表示 4.0 インターナショナル (CC BY 4.0) パブリック・ライセンスの下で配布されています。