今さら聞けないセキュリティ 2020年01月30日

今さら聞けないセキュリティ 2020年01月30日

Windows向けBase64デコードのバッチ作成

POWLOAD(マクロ有効化するとPowershell起動して通信)の検体を解析する際に
powershellで実行される引数がBase64でエンコードされていることが多いので、効率化のためにバッチを作成したので共有です。

#使い方
1.バッチを実行するとコピペ待ちになるので、デコードしたい文字列を貼り付け
2.デコードされた文字列がクリップボードにコピーされます

#バッチファイルの中身
“`
@ECHO OFF
setlocal

pushd “%~dp0″
REM 変数定義
SET /P BASE64_STR=”Input encoded strings: ”
SET BASE64_START=—–BEGIN CERTIFICATE—–
SET BASE64_END=—–END CERTIFICATE—–
echo %BASE64_START%%BASE64_STR%%BASE64_END% > before.txt

REM Decodeを実行する、元ファイルの削除、デコード結果のクリップボードコピー
certutil -decode before.

元記事を表示

情報システムの構成とリスクの関係

これまでとは趣向を変えて、(10年前に捻りだした)ネタ投下します。全く役に立たない、浮世離れした話ですので、一見真面目そうに見えても、内容の妥当性などは何ら保証はないです。

# 【広げた風呂敷】

情報システムの構築・運用計画を立てる際、セキュリティ投資を抑えられるようにシステム構成を計画すための知見が必要である。そこで、ITシステム構築の際しての、ネットワーク構成と扱い情報量とリスクの関係を数学的に評価した。

扱い情報量1のシステムN個ごとに、扱い情報量Mの上位システムで統合する樹形構造を重ねたシステムを構成した場合、扱い全情報量Iとシステム全リスクRとの関係は、

R∝I^(log(N+M^2)/log(N))
となる。

# 【検討(見当)】

 ITシステムのリスクは、情報が集中し、そこでは自由流通する「ノード」が持つ情報量の二乗に比例する。単一のノードを図形的に正三角形で表すと、正三角形の面積でリスクを表すことができる。

 ITシステムを拡大する際、システム内での情報は自由にやりとりされるフラットで均一な構成形態で拡大すると、ノードの大きさ(=図形の長さ)は扱い情報

元記事を表示

タイムスタンプ偽装について

解析者を誤解させるため・不正ファイルの発覚を遅らせる目的でマルウェアがタイムスタンプ偽装を行うことがあります。
本記事ではタイムスタンプ偽装に関する初歩的な内容を記載します。

#タイムスタンプとは
ある時刻にその電子データが存在していたことと、それ以降改ざんされていないことを証明する技術。
タイムスタンプに記載されている情報とオリジナルの電子データから得られる情報を比較することで、タイムスタンプの付された時刻から改ざんされていないことを確実かつ簡単に確認することが可能。

>国民のための情報セキュリティサイト タイムスタンプとは?
>https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/structure/05.html
>「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 タイムスタンプ (timestamp)
>https://wa3.i-3-i.info/word13116.html

#タイムスタンプ偽装とは
フォレンジックの際に解析者を誤解させたり、不正ファイルの発覚を遅らせる目的など

元記事を表示

Fuzzyhashとは?検証してみた

Hashの一種として、Fuzzyhashというものがあることを知ったので、類似の検体を用いて検証を行いました。

#Fuzzy hashとは?
ハッシュに関する基本的な説明は省略します。
ファイルの内容を少しでも変えるとSHA-1やSHA-256などのハッシュは全く異なる値をとる仕様となっていますが、
これらと異なりFuzzy hashはファイルが類似している場合、ファイル同士で近い値をとります。
そのため、マルウェアの挙動の類似性を検証する際などに有効と言えます。

##Fuzzy hashの種類
知名度の高いものとして下記2点がありますが、今回はSSDEEPの値をもとに検証します。
・imphash
・ssdeep

#検証内容
動きがほぼ同様なEMOTET/POWLOAD検体を5つ用意し、Fuzzy hashの値の類似性を検証します。
▼検知名
スクリーンショット 2020-01-28 13.40.56.pngGoogleが発表したITPの欠陥を眺めてみる

Googleが投稿した[ITPの欠陥に関する論文](https://arxiv.org/ftp/arxiv/papers/2001/2001.07421.pdf)の紹介です。

# tl;dr
* ITPのトラッキング判定はデバイス毎に行われるよ
* あるドメインがトラッキング判定されているかを知る方法がいくつかあるよ
* 特にそのドメイン・サイトが攻撃者管理なら
* ので、閲覧情報のリークやフィンガープリントとして使われる可能性があるよ

# 指摘している問題
この論文では、

* あるドメインがトラッキング判定されているか、別のサイト(攻撃者管理)で判断出来る(1,2,3,5)
* 攻撃者が、あるドメインをトラッキング判定させることが意図的に出来る(2,3,4)

ことがマズい場合を指摘しています。

## 1.トラッキング判定されているドメインを判定出来る(かもしれない)
トラッキング判定はユーザー毎に異なるので、トラッキング判定されているドメインがわかると、ユーザーの地域などがわかる可能性があります。
(例:hoge.co.jpがトラッキング判定されているから、日本在住っぽ

元記事を表示

安全な廃棄のために使用すべきストレージの機能(1/2)

# はじめに
 もう昨年(2019年)の話になってしまいましたが、「個人情報が保存された自治体のHDDが、廃棄処理委託先業者の従業員によって、データ復元可能な状態のまま転売された」、という事件がありました。

 既に多くの方がそれぞれお持ちの知見からこの事件について解説されていますが、この手の話は時間が経過すると忘れられてしまうことが多いので、定期的に話題にすることで注意喚起する必要があると考えています。

 そこで今回は、この事件を題材に、ストレージを安全に廃棄するために使用すべきストレージの機能として**データ難読化**と**ロック**を挙げ、具体的なロックの方法を説明します。データ難読化は次回まとめる予定です。

 なお、ストレージに格納されたデータが流出する状況には、以下の2つがあります。

1. ストレージがオンライン(ホストに接続され通電状態、正規のアクセス権を持ったアカウントがデータにアクセス可能な状態)でのデータ流出
2. ストレージがオフライン(非通電状態)でのデータ流出(物品流出)

 この2つは構図が全く異なるので、適用すべき対策も大きく異なります。前者は、正規の

元記事を表示

オンラインサンドボックスサービスまとめ

##単なるメモです。

###hybrid-analysis
https://www.hybrid-analysis.com/

###JOESandbox Cloud
https://www.joesandbox.com/

###malwr.com
https://malwr.com/
(2019/04/23 現在休止中 Coming back soon!!とのこと)

###Any.Run
https://app.any.run/
ロシア発サンドボックス。
完全自動化のものと違い、インタラクティブ操作が可能等特色がある。
 参考URL: http://ed3159.hatenablog.com/entry/any-run-realtime-interactive-malware-analysis-sandbox-service

元記事を表示

【絶対見て】SNSアカウントに不正アクセスされた。~対処法と業者の悪質な手口~

#それは突然起こった
私は普段からiPhoneを用いて**Twitter**を利用していた。
しかし、とある日。諸事情でTwitterをPCのブラウザから利用しなければならなかったので、いつも通りGoogleChromeでツイッターを開く。
しかし、セッションが切れている。**「あれ?」**ここで薄々嫌な予感はしていた。
普段からちょこちょこと同じPCから同じブラウザを使用して、セッションが切れた事が無かったし、通常セッションが切れるのはパスワード変更時くらいだからだ。
※もちろん他の原因もあるが

#ログインできない
まぁ、面倒だがログインすればいいか。
そうして、案の定いつも通りGoogleChromeに保存しているパスワードを使用してログインを試みる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535270/eef9e972-ea59-6635-5455-0118695403cc.png)

**「あれ?」**
**「あれ?」**
**「あれ?

【ウィルス感染】WordPressサイトがマルウェアに感染した場合の救護策

私がお手伝いで作成させていただいているWordPressサイトの方がフィッシング詐欺のサイトに誘導されるように外部のハッカーから中のファイルをハッキングされて書き換えられる事件が起きたので、その対処法を共有したいと思い、記事にしておきます。WordPressを使用している方は、チェックしていただけるといいと思います。

# いつのまにかマルウェアがいる
サイトにGoogle検索経由で来た方がフィッシング詐欺のページに転送されるというお話があり、困っていました。
というのも、Google検索経由で来て一定確率で転送されるので、サイトを管理しているウェブマスターからでは現象の確認がしづらいためです。

![Screenshot_20191129-124757.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391047/a7c5edee-5797-9ecc-ec2c-23c18b32cd97.png)

FTP経由でWordPressのファイルの中身を確認したところ、いくつかのphpファイルの追記が確認できた

Node.jsでAWS ElasticSearchへのHTTP リクエストの署名

#はじめに
情報保護を難しくなっている現代社会では、セキュリティ対応はますます重要になってきています。
Cloud技術の進化によって、セキュリティ対応しやすくなる部分もあります。

AWSのElasticeSearchサービスへのHTTP リクエストの署名方法を簡単にまとめてみます。

#1. AWS SDKのライブラリを使う
AWSのドキュメントにある通り、署名したリクエストを送信できますが、検索のクエリなどはちょっと手間ですね。

参考URL: https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-request-signing.html

“`node.js
var credentials = new AWS.EnvironmentCredentials(‘AWS’);
var signer = new AWS.Signers.V4(request, ‘es’);
signer.addAuthorization(credentials, new Date());

セキュリティマネジメントの勉強-暗号化技術と認証

#暗号化技術
##暗号化
平文を暗号文にする
暗号化 <---> 復号

暗号化鍵、復号鍵が存在する

##共通鍵暗号=秘密鍵暗号方式
暗号化鍵=復号鍵
鍵が1種なので、秘密にしておく必要あり。

利点は単純で高速。
ただし、経路の数だけ鍵が必要になる。
zipのパスワード的なやつかな。

###DES
Data Encryption Standard
56bit、米国の旧国家暗号規格
今では安全性低い

###RC4
ストリームで徐々に暗号化していく
WEPでつかわれている
高速だが安全性はお察し

###Triple DES
DESを3回やる
でも推奨されない

###AES
Advanced Encryption Standard
DES後継
XORを繰り返し行う。128bit,192bit,256bit色々あり。
XORを行う回数を段数という

###Camelia
NTTと三菱が作った
AESと同等の安全性を保ちつつ、消費電力低めらしい

###Kcipher-2
九州大学とKDDIが作った
ストリーム型128bit
AESより7〜10倍早い

##公開鍵暗号方式
暗号化鍵≠

JavaScriptでgetUserMediaでマイク・カメラ(ビデオ)を使うときの注意点とデバイスへのアクセス権限について

# マイクのみ使用するのにaudioのみの指定では動かないブラウザがある

とあるサンプルがEdgeで動作したがChromeで動作しなかったので調べてみた。

Chromeは`audio`だけでなく`video`も指定しないと音声入力が取得ができない。
https://www.html5rocks.com/ja/tutorials/getusermedia/intro/ より引用:
> 注: Chrome にはバグがあり、「audio」のみを渡しても無効です(crbug.com/112367)。Opera でも

自分でも確認しましたが、
 Chromeのバージョン: 79.0.3945.130(Official Build) (64 ビット)
で再現しました。`audio`指定のみでは動作せず、`video`を`audio`と一緒に指定すると動作する。

# navigator.mediaDevices.getUserMediaが推奨らしい

`navigator.getUserMedia`ではなく`navig

【初学者向け】セキュリティ対策入門[番外編①]〜OSコマンドインジェクション編〜

# 前提

## 確認環境

以下と同様です。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

## 本シリーズの目的

以下と同様です。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

## 本記事の目標

**OSコマンドインジェクションの概要、原因、対策について理解すること**です。

## 本記事を読み進める上での必要事項

以下の内容を終えていることです。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

## どうでもいいお話

あまり主要ではない脆弱性についてはこちらの番外編で扱っていきます。主要ではないというのは被害ケースをあまり耳にしないという意味で、脆弱性をつかれたときの被害が少ないというわ

flaws.cloudに挑戦してみた

#はじめに
 先日、[大和セキュリティ勉強会](https://yamatosecurity.connpass.com/)に参加してきまして、とても勉強になったので備忘録程度に記事を書こうと思います。今回やったのは、[flaws.cloud](http://flaws.cloud)というサイトです。ctf形式でAWSにおけるハッキングトピックを学べるサイトになっています。level1からlevel6までの計6問で構成されています。詳しいwrite upはもっと偉大な方々が書かれているので適度な感じに書いていこうと思います。解き方もそこで教えてもらった解き方で書かせてもらいます。

#事前準備
今回はawsに関する問題なのでawscliを使用します。そのため[こちら](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html)でawscliのインストールと初期設定をしてください。
※regionはすべてのクレデンシャルで’us-west-2’で設定してください。

#level1
 flaw

MusicFM解析

# はじめに

QiitaでMusicFMのパケットをキャプチャして解析してる人をみて面白そうだなと思い、自分もやってみることにしました。

同じ海賊サービスでも漫画村は閉鎖できたのに、なんでmusicFMはずっと残っているのかが不思議でした。

自分が解析することによって少しでもその謎が解ければいいなと思ったのがきっかけです。

# とりあえずパケットキャプチャ

“`
% instruments -s devices
“`

の出力結果から自分のiPhoneのUUIDをコピペして

“`
% rvictl -s [自分のUUID]
% tcpdump -i rvi0 -w [保存するファイル名]
“`

ここでmusicFMを開き操作します。

“`
% rvictl -x [自分のUUID]
“`

でキャプチャ終了します。

今回、musicFMでアーティストを検索してその中から楽曲を流すところまでをキャプチャしました。

# Wiresharkで解析

実際に音楽ファイルやパッケージ写真がやりとりされているのは下の画像の黒い部分のようです。

【Paloalto】PAN-OSのバージョンアップ

##バージョンアップ前の心構え
Paloaltoのバージョンアップはとにかく時間がかかります。古い機種、下位の機種になるほど時間はかかります。

##バージョンアップ前に知っておくと良い事
###①PAN-OSの表示と名称の決まり
PAN-OS8.1.0を例に取ると、一番左端の数字の8を**メジャーバージョン**と言います。左から2つ目の1の数字を**マイナーバージョン**と言います。左から3つ目の数字の0を**メンテナンスバージョン**と言います。左から3つめの数字が0になっているものを**ベースイメージ**とか**ベースOS**とか言います。ただし、OSにバグが見つかった場合は0じゃない数字が**ベースOS**になる場合があります。
【初学者向け】セキュリティ対策入門②〜SQLインジェクション編〜

# 前提

## 確認環境

以下と同様です。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

## 本シリーズの目的

以下と同様です。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

## 本記事の目標

**SQLインジェクションの概要、原因、対策について理解すること**です。

## 本記事を読み進める上での必要事項

以下の内容を終えていることです。
[【初学者向け】セキュリティ対策入門⓪〜環境構築編〜](https://qiita.com/junkimatsuda/items/b29e496132b7fe596397)

また、DB及びテーブルの作成ができることと、プログラミング言語を用いてDBにアクセスする処理の流れをおおまかに理解していることです。

# 概要

## SQLインジェクションとは

**不正にSQL文を

午前0時に前日のファイルアクセスログをメールで自動送信する

本稿は[【ファイルサーバのアクセスログをPowerShellで取得する】](https://qiita.com/mindwood/items/da5932845548a64a7946)の続編。
今回はコードのみ。監査ログの設定方法については、先の記事を参照して欲しい。

次のPowerShellスクリプトをWindowsファイルサーバのタスクスケジューラに登録した。
午前0時になると、前日のファイルアクセスログをZIPファイルに固め、速やかにメールで転送する仕掛けだ。

“`powershell:audit_mail.ps1
$endTime = Get-Date -Hour 0 -Minute 0 -Second 0
$startTime = Get-Date $endTime.AddDays(-1)

$baseFile = Join-Path ‘E:\log\audit_’ $startTime.ToString(‘yyyyMMdd’)
$csvFile = $baseFile + ‘.csv’
$zipFile = $baseFile + ‘.zip’
if (Test-Pa

何事にも正しい権限を。あと信じすぎないこと。

# はじめに
私はJenkinsおじさんとまでは言わなくても、Jenkinsお兄さんと呼べるぐらいのビルド職人をしていました。そこで気づいたことを書きます。別にJenkinsに関係なくすべてで起きうることだと思います。

### Jenkinsについて
JenkinsはCICDを自動化するOSSです。Cサーバーにデプロイしたり、スクリプトを変えたらGitにあげたりを自動化します。
なのでCICDを実現するには様々なgitやサーバーのログイン情報が必要です。しかし、パスワードやログイン情報が誰からも見らるのはよくないことです。なので、Jenkinsの開発者がログイン情報を見ないでジョブを作成するプラグインCredentials Pluginというものがあります。

### Credentials Pluginについて
Credentials Pluginをしようするとユーザー名はJenkins画面からわかりますが、パスワードはわかりません。なので、セキュリティ的にはある程度の信頼がおけます。わたしは日々JOB(Jenkinsで自動化する単位の事)をよくわからないプロジェクトをよくわからな

ChromeでDNS over HTTPSを試す方法。

chrome://flags/#dns-over-https

を開いて、Enableに変更