2017年2月のssmjpに参加してきたよ

2017年2月のssmjpに参加してきました。
4人の発表者がいてタイトルはそれぞれ以下の通り

米国のペネトレーションテスト事情
Tomohisa Ishikawa

最近のアメリカでのペネトレーションテスト事情についてのLTでした。
日本だとペネトレーションテスト=脆弱性診断ですがアメリカだとRedTeamが主流になっているとのこと。

RedTeamというとセキュリティ業界以外の人にはわかりづらいと思うので日本語に直すと「侵入テスト」といったところでしょうか。
日本のペネトレーションテストはWebアプリケーションやミドルウェアなどの外部に公開されているサービスに脆弱性があるかをブラックボックスでテストするのが一般的ですが、アメリカのRedTeamでは実際に情報を持ち出すことが可能かをテストしています。

日本のペネトレーションテストは脆弱性の有無を調査することが目的ですが、アメリカのペネトレーションテストは情報を窃取することが可能かを実際にやってみて調査することが目的だと感じました。

RedTeamはdigital、social、physicalの3つの分野にまたがってテストが実施されているそうです。
digitalはネットワーク経由で侵入できるかや、socialはOSINT等でその企業や従業員の情報を収集し、電話やメールを使い従業員や役員、関係者になりすましてオペレーター等から企業の機密情報を聞き出せるかや、physicalは鍵穴をピッキングして建物や施設内に侵入したり偽の従業員証を作成して従業員になりすまして施設内に侵入し、情報を持ち出すことができるかをテストしているそうです。

RedTeamは最終的に情報を持ち出すことができるかをテストしており、その過程で警備員に取り押さえられたり警察に通報されて警察沙汰になったりする可能性も想定されているそうです。

さらに、digitalは従来通りハッキングに長けた人が実施したり、socialは心理学者を雇ったりphysicalは鍵屋を雇ったりと映画みたいにそれぞれの専門分野の人が集まってチームを組んで実施したりと本格的です。

アメリカで主流になっているということは日本でも2〜3年後には主流になると思います…と言いたいところですがRedTeamは実際に通常業務を行なっている環境で期間も半年など長期間かけて従業員や管理者も目の前で起こっていることが実際のインシデントなのかRedTeamによる侵入テストなのか判断できない状態で実施するので業務に影響が出ることを極端に嫌がる日本では受け入れられない気がします。

RSA暗号運用でやってはいけないNのこと
@y_hag


次はRSA暗号の運用についてのLTでした。
この話は筆者が暗号は素因数分解が困難(素因数分解に時間がかかりすぎて現実的な時間では解けない)ことが前提になっているという程度にしか理解していないので詳しく解説できません。。。

前提としてRSA暗号のアルゴリズムと768bitまでの鍵長の鍵は既に解かれていて、1024bitもそろそろ危険だとして非推奨になっていることを説明されてから、公開鍵暗号方式を使用して秘密鍵と公開鍵を生成する際や、平文を暗号化する際に気をつけておくべきポイントについてお話されてました。

以下にRSA暗号を運用する際に気をつけるべきポイントとして挙げられていた点をいくつか紹介します。
・合成数 n を生成する p と q の値が小さすぎてはいけない
・p と q の値が近すぎてはいけない
・p と q の値にメルセンヌ素数やフェルマー素数を使ってはいけない
・公開鍵を複数作成するときに同じ素数を使いまわしてはいけない
・任意の暗号文を複合した偶奇1bitを知られてはいけない
・上位ビットが共通する2つの平文の暗号文を知られてはいけない
・素数pの上位または下位bitを知られてはいけない

他にもいくつか紹介されていましたが理解とメモを取るスピードが追いつきませんでした。

暗号は今年勉強するテーマの1つですが、暗号の種類とそれぞれの計算量的な強度、使用されるシチュエーションくらいで理論的な部分まではちょっと踏み込めないかな。

君のHashは
@abend


Windowsのアカウント管理で用いられているLMハッシュとNTLMハッシュのお話。
LMハッシュはさすがにもう使われていないでしょということで主にNTLMハッシュのお話です。

Windowsではアカウントのパスワードハッシュを認証に使用できますがsaltを用いないため、同じ文字列を用いると同じハッシュ値になります。
これを利用してWindowsでパスワードを知らなくても認証を突破できる「Pass the Hash」という攻撃手法があります。

しかし、WindowsにはUser Account Control(UAC)という機能があり、管理者権限が必要な動作やシステムに変更を加える動作をする際に再度確認をする機能があり、仮に管理者アカウントののユーザー名とパスワードのNTLMハッシュを取得できたとしてもそのままコマンドが実行されるわけではありません。(何かプログラムをインストールしようとした際にポップアップが表示されて「はい」を押さないといけないアレです)

ただWindowsには、Windowsをインストールした際にデフォルトで作成されるローカルの「Administrator」というアカウントがあり、このアカウントでシステムに管理者権限が必要な動作やシステムへの変更を加える際はUACが働かず、このアカウントのNTLMハッシュが抜き取られた場合は外部からの攻撃に気づきにくく攻撃者のコマンドがそのまま実行されてしまうそうです。

なのでWindowsをインストールした際には別の管理者アカウントを作成し、「Administrator」は削除することをお勧めされていました。

またWindows10以降の世代ではSAMファイルのNTLMハッシュがnullになっていたり、メモリ上から情報を抜き取ろうとしても「LSA Protection Mode」が有効になっていればメモリにアクセスですることが困難になるためそれまでの世代よりは安全性が高いのではないかとのことです。

発表のテンポとネタが面白すぎるのは卑怯だと思います。

サイバー考古学
@delphinz


最後は田端さんのインターネットの歴史にまつわるお話です。

大学の講義とかだとインターネットの歴史として原型となったARPANETの話から利用が学術機関や商用へと広がっていった話は聞くと思いますが、これはその過程でインターネット上での自由のために戦った人たちや現在のコンピューターで使われているマウスやGUIの概念を発明した人たちのお話でした。

このスライドは近所の中学生が王様のヴァイキングを読んでハッカーに憧れてプログラミングを教えてほしいと頼まれたので、その前にインターネットについて知ってもらおうと作成したスライドだそうです。近所の中学生のためにここまでのスライドを作成する熱意がもう田端さん自身もHackerであることの証だなと思いました。

田端さん自身も「自由とは何か」を探してアドリア海の真珠と呼ばれるクロアチアのドゥブロヴニクに行ったことがあるそう。
ここは「ドゥブヴクニクを見ずして天国を語るなかれ」と言われるほど美しい町ですが、「いかなる黄金をもってしても、自由を売り渡してはならない」と刻まれた石碑があるほど自由のために戦ってきた町であり、1991年には非武装地だったにも関わらずユーゴスラビア人民軍の攻撃に7ヶ月にも耐え、文字通り自由のために命をかけてきた町だそうで、我々の言う自由と彼らの言う自由の重みの違いを感じます。

技術的にHackできるじゃなくて、今のインターネットの文化の系譜を知ることができる、Hacker文化で言うところのHackerになりたい人向けのLTだったのではないでしょうか。

感想

ssmjpの凄いところは緩い勉強という名目でありながら毎回濃い人の濃い発表が聞けるところじゃないでしょうか。
運営が濃いせいか、コミュニティ自体も濃いので参加してて楽しいですね。

懇親会でPoserShellで苦しんでるフレンズがいて話したのですが、あれ本当に謎の言語

  • このエントリーをはてなブックマークに追加