【※ 当記事は2020年7月2日時点の情報です】
ペイヴメント(@pavement1234)です。
セキュリティに関するGhidra、Kali Linux、ゼロトラストネットワークという3つのキーワードについて概要を知りたい。
こんな悩みを解決します。
セキュリティに関して「無償のリバースエンジニアリングツール(Ghidra)」「Metasploitって何?(Kali Linux)」「ゼロトラストネットワーク」という3つのキーワードについて調べてみたのでご紹介します。
無償のリバースエンジニアリングツール(Ghidra)
Ghidra(ギドラ)ってご存じですか?無償のリバースエンジニアリングツールです。
Ghidra(ギドラ)
米国時間3月6日、現在開催中のRSA Conferenceで、米国家安全保障局(NSA)は、組織内で10年以上使用してきたソフトウェアリバースエンジニアリングツール「Ghidra」を無償で公開したと発表した。
Ghidra(ギドラ)というツール。私も最近知りました。【IT】NSAがリバースエンジニアリングツール「Ghidra」を公開にある通り、無償のソフトウェアリバースエンジニアリングツールです。Featureはこんな感じ。
実行環境 | Javaベースでマルチプラットフォームで動作する。(Win、Linux、Mac) |
アプリケーション形態 | GUIベース |
機能 | バイナリ(ELF、PE等)の逆アセンブル、逆コンパイルが可能 |
対応プラットフォーム | x86、PPC、ARM(Thumb含む)、RISC、MIPSなどに対応 |
これまで、逆アセンブラ界隈ではHex-Raysという会社が作るIDAというソフトが有名で、有償版はIDA proと呼ばれるらしくマルウェア解析を生業とする方々はそれを購入してるみたい。IDA ProをNamed(個人向け)ライセンスで購入するを見ると、ここで売ってます。いろんなPlatformに対応しようとすると軽く100万超えなので、Ghidra(ギドラ)が実用的だとすると救世主的な感じかと。
Ghidra(ギドラ)の語源はやはりゴジラのキングギドラなんですかね。Geekとかヲタクの界隈は、アニメ・漫画だの特撮だのが好きですよね。
なんとなくGeekって単語で調べてたら10年ぐらい前、Windowsで無線LANを使ったソケットプログラミングしてたころに参考にしてたGeekなページを発見。IEEE 802.11nが出たばかりの頃、BuffaloとNECのUSB無線LANドングルを大量に買ってきて、ノートPCに数本ずつ挿して動作させました。そのとき1つのアプリから複数インタフェースを制御するのに、ネットワークインターフェースの情報を取得するを参考にしました。最近も更新されてるみたいなのでまた読んでみようかな。
というわけでGhidra(ギドラ)は便利そうなツールなので、今度試してみます。
参考ページ
≫「たのしいバイナリの歩き方」勉強メモ#1 リバースエンジニアリングでバイナリの読み方を身につける
≫「たのしいバイナリの歩き方」勉強メモ#2 シューティングゲームをチートから守るには
≫「たのしいバイナリの歩き方」勉強メモ#3 ソフトウェアの脆弱性はこうして攻撃される
≫「たのしいバイナリの歩き方」勉強メモ#4処理を自在に実行させるプログラミングのテクニック
≫「たのしいバイナリの歩き方」勉強メモ#5 ツールを駆使してより深い世界へ
≫「リバースエンジニアリングバイブル」勉強メモ#1 リバースエンジニアリングのためだけのアセンブラ
≫「リバースエンジニアリングバイブル」勉強メモ#2 C++ のクラスとリバースエンジニアリング
≫「リバースエンジニアリングバイブル」勉強メモ#3 C++ のクラスとリバースエンジニアリング
≫「リバースエンジニアリングバイブル」勉強メモ#4 DLL の分析
≫「リバースエンジニアリングバイブル」勉強メモ#5 PE ヘッダー
≫「リバースエンジニアリングバイブル」勉強メモ#6 よく使われるパターン
≫「リバースエンジニアリングバイブル」勉強メモ#7 MFC リバーシング
Metasploitって何?(Kali Linux)
調べてみた
Metasploitとは。概要はこんな感じ。
Metasploitは、オープンソースなコンピュータセキュリティに関するプロジェクトで、脆弱性、ペネトレーションテスト、侵入検知システム、シェルコードのアーカイブ、アンチフォレンジクス(コンピュータ・フォレンジクスによる解析への対抗技術)などを主な守備範囲としたプロジェクトの名称である。また、本プロジェクトのその成果ソフトウェアとしてよく知られるMetasploit Frameworkの省略名としてもしばしば用いられる。
Kali Linux(攻撃する人)、Metasploitable(攻撃される人)
≫Metasploitの動作テストにうってつけ、Metasploitableを使ってみた
あたりを読んでみました。Kali Linuxには、Hydra(パスワードクラッキング)、nmap(ポートスキャン)、maltego(ネットワーク情報収集)、sqlmap(SQLインジェクションが可能かチェックする)、hping3(DoS攻撃ツール)、Metasploit(トロイの木馬型ウイルスを生成しWindowsを乗っ取る)、Wireshark(パケット盗聴)などがインストールされています。要はこれらのツールを駆使してMetasploitableをハッキングするわけですね。
ひとりごと
これまでハッカー(クラッカー)と呼ばれていた人種は、技術力が高いので自力でMetasploit Frameworkを構築してたと思いますが、最近はKali Linuxみたいな便利ツールがカンタンに入手できる良い時代になりました。昨今サイバーセキュリティリスクが注目を浴びているのでKali Linuxを一般のソフトウェアエンジニア・テスターが使う局面も増えており、脆弱性を発見するスキルがソフトウェア業界全体として底上げされている印象です。しかしセキュリティ対策は何かとお金がかかるもの 官公庁や大企業のデータは守られるが、中小企業はセキュリティリスクに晒されてしまう、みたいな状況にならないと良いですね。貧乏人は医者に行けないみたいなのはイヤ。
ゼロトラストネットワーク
ゼロトラストネットワーク――境界防御の限界を超えるためのセキュアなシステム設計にあらすじ的なコメントがありました。
ゼロトラストネットワークとは、ファイアウォールやVPNに代表される従来型のセキュリティ(境界防御モデル)が通用しなくなった現状を踏まえ、すべてのトラフィックを信頼しないことを前提とし、検証することで脅威を防ぐというアプローチです。近年、クラウドサービスやモバイルの普及により、セキュリティで守るべき内外の境界があいまいになってきたことにより、強く注目を集めています。本書は、ゼロトラストネットワークの概念と実装するために必要な知識が学べる解説書です。基本的な概念の説明に始まり、デバイス、ユーザー、アプリケーション、トラフィックの信頼を実際にどのように確立していくかについて、詳しく紐解いていきます。また、Googleのゼロトラストモデル「BeyondCorp」を含む2つの詳細なケーススタディも収録しており、実装に役立つ知識を深めることができます。
要はすべてのトラフィック(通信)を信用しないことでセキュリティを担保するという考え方ですね。セキュリティの難しいところは、1度突破されるとオシマイということ。これを読んでシッカリ学習したいと思います。

まとめ
「無償のリバースエンジニアリングツール(Ghidra)」「Metasploitって何?(Kali Linux)」「ゼロトラストネットワーク」という3つのキーワードについてご紹介しました。また面白いキーワードを見つけたらご紹介します。
関連記事(セキュリティ)
ITスキルを身につけると条件の良い転職が可能になる
ITスキルを身につけると条件の良い転職が可能になります。当ブログがそのキッカケになったら幸いです。