今さら聞けないセキュリティ 2019年12月06日

今さら聞けないセキュリティ 2019年12月06日

金融機関システムのクラウド利用

#FISC
+ 金融情報システムセンター、The Center for Financial Industry Information Systems
+ HP:https://www.fisc.or.jp/
+ 歴史:昭和59年11月 財団法人として設立。平成23年4月、公益財団法人に移行。
+ 概要:https://www.fisc.or.jp/about/
+ 活動の基本は、金融情報システムに関連する諸問題(技術、利活用、管理態勢、脅威と防衛策等)の国内外における現状、課題、将来への発展性とそのための方策等についての調査研究です。
+ 調査研究から得られた知見は各種ガイドライン、調査レポートなどに反映。
+ ガイドラインには『金融機関等コンピュータシステムの安全対策基準』がある。

#FISC安全対策基準
+ FISCが作成している安全対策基準。(https://www.fisc.or.jp/publication/)
+ 正式名称は『金融機関等コンピュータシステムの安全対策基準・解説書』
+ 最新は、「第9版」(2018年3月)で、2019年3月に「第9版

元記事を表示

SMBの検出・有効化・無効化 Windows

#概要
>この資料では、SMB クライアントおよびサーバー コンポーネントでサーバー メッセージ ブロック (SMB) バージョン 1 (SMBv1)、SMB バージョン 2 (SMBv2)、SMB バージョン 3 (SMBv3) を有効または無効にする方法について説明します。

SEOで上位に公式情報が出てこなくて困ったので、このサイトを上位にするのが狙いです。
よく使うPowershellのコマンドレットだけ表記し、あとは情報ソースのURLを貼ります。

##警告

>SMBv2 または SMBv3 は無効にしないことをお勧めします。 あくまでも “一時的な” トラブルシューティング手段として、SMBv2 または SMBv3 を無効にしてください。 SMBv2 または SMBv3 を無効なままにしないでください。
>[Windows 10 Fall Creators Update と Windows Server バージョン 1709 以降のバージョンの既定では SMBv1 はインストールされません](https://support.microsoft.com/ja-jp/hel

元記事を表示

(1か月前に)NRI Secure Netwars 2019に参加してきました

# Netwars2019に行ってきた感想をまとめました

myjlabアドベントカレンダー3日目です。
およそ1か月前のイベント参加記録を放出します。

## はじめに

本記事は11月9日に開催された[NRI Secure NetWars 2019](https://www.nri-secure.co.jp/event/2019/netwars)の参加記録です。

規定により具体的な問題の内容などについて記すことはできないので、オンサイトCTFに初めて参加した記録として、特にCTFに限らず「オフラインイベントへ参加するかどうか迷っている」方の背中を押すためのものとして読んでいただければ幸いです。

## プロフィール

– オンサイト(オフライン)CTF未経験、常設CTFを頑張って解く日々を送る学部3年生

– 学部2年までは企業の情報管理や体制としてのセキュリティについて専攻にしたいと考え、学んでいたが、実際に手を動かす実務的なセキュリティを学ぶ必要性を感じてCTFに手を出し始めた初心者

– その流れで[セキュリティキャンプ](https://www.ipa.go.jp/j

元記事を表示

OkHttpを使った場合にWebViewのJavascriptInterfaceはどう呼ばれるか軽く調べてみた

AndroidのWebViewでは、*addJavascriptInterface*という、JavaオブジェクトをWebViewに埋め込む機能があります。これにより、WebView内で表示しているWebページに埋め込まれたJavascriptから、当該Javaオブジェクトで定義されたメソッドを呼び出せるようになります。

今回は、WebViewでのHTTP通信にOkHttpを利用した時、WebViewのコールバックメソッドはどう呼ばれるか軽く調べてみました。
読むのがめんどくさい方は最後の「まとめ」だけを読んでいただいてもよいです。

## WebViewを使用するActivityの実装
WebViewを使用するActivityのソースコードはこんな感じです。
サンプルコードがお粗末なのはご愛嬌です。

“`kotlin:MainActivity.kt
class MainActivity : AppCompatActivity() {

companion object {
const val TAG = “WebViewTest_”
con

元記事を表示

寝てたらRSA暗号ができた話

こんにちは。ぽちゃまと申します。
この記事は[木更津高専 Advent Calendar] (https://qiita.com/advent-calendar/2019/nitkc) 2日目です。

前の記事:[Verilog-HDLで32bit ALUを作った話](https://blog.katio.net/page/verilog-alu)
次の記事:

さて、僕は今高専4年生で課題研究のために研究室に配属されています。
その中でも、暗号(とセキュリティ)の研究室に配属になりました。
ということで、何か暗号を実装したいなと思い、考えた結果「**RSA暗号**」でした。
そして、理論を勉強した後に寝たらRSA暗号ができていました(??????????)。

ということで、寝てたらRSA暗号が生やすために、まずは理論を一緒に学んでいきましょう。

# RSA暗号の実装(理論編)

## RSAとは何か
>RSA暗号とは、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号の一つである。

(参考:[フリー百科事典『ウィキペディア(Wikipedia)』

元記事を表示

TLSの基礎知識

# TLSの基礎知識
今回はTLSについて簡単に書きとどめておきたいと思います。
昨年の12月にBitBucketがTLS1.2のサポートしかしなくなったことより、業務でTLS1, 1.1を使用して接続しているサーバーに対してアップデートをかけたのでこれを忘れないために備忘録として書き残します。
TLSのことを知る前にまずSSLについて知っておかないといけません。

## SSLとは
Secure Socket Layerのことで安全に通信を行うためのプロトコルのことです。
インターネットの普及に伴い、安全な通信方法(通信の暗号化)で接続する必要性が出てきました。
そのためSSLは発展し、現在でも使用されている通信方式となります。

身近なものとしてはhttp通信のSSL化をすることでhttpsプロトコルを使用してよりセキュアな通信をすることができる様にすることができます。

SSL化については別で記事にしているためこちらを参考にしてください。。
[WebサイトのSSL化(HTTPS)の3つのグレード](https://qiita.com/yoru722/items/2da87ad23

元記事を表示

WebサイトのSSL化(HTTPS)の3つのグレード

# WebサイトのSSL化(HTTPS)の3つのグレード

SSLの認証とは認証機関にWebサイトの認証をしてもらうことでurlを
`http://ドメイン`
の形式から
`https://ドメイン`
の形式にすることができます。
httpsプロトコルで通信を行うことでよりセキュアなサービスを展開することができるため個人レベルのWebサービスでもSSL化をしている人は多いと思います。

現在はTVやインターネットでも安全なサイトの見分け方でurlを確認してhttpsのものを選ぶとかやっていたりするのでこの辺はやっておきたいところですね。。(ちなみに結構簡単にhttpsにすることはできてしまう)

ちなみにHerokuでWebサービスを運用するときデフォルトでhttpsのurlがもらえていると思います。
⇒このへんは詳しくないですが。。

***AWSでのWebサービス運用でも1VPCにつき、1ELBをつけることができ、ここにACMの設定をすることで実質無料でSSL化をすることができます。***
⇒運用のコストは別として

さて、SSLには3つの段階(レベル)があることを知っ

元記事を表示

ファイルアップロード時の処理について

# ファイルアップロード時の処理について

## そのままDBに格納することの危険性

* 悪意のあるファイルがアップロードされた場合DBが危険に晒されてしまう。
* ウイルスが仕組まれていた場合システム全体を危険に陥れてしまう。
* 対象としていない拡張子も受け入れてしまうとウイルスをアップロードされる可能性がある。
* 意図的にサイズの大きいファイルをアップロードしサーバーサイドの遅延を引き起こす。

## アップロード時の挙動
* アップロードされる前にJavaScriptなどでファイルの拡張子登録を判定しておく。(JSはブラウザでOFFにせっていできてしまうため必ずサーバーサイドでもチェックを行うこと)
* ウイルスチェックを行うため一時格納場所を設定し(OS側で)ウイルスチェックを行う。
* ウイルスが発見された場合は直ぐに破棄する。

## 最後に
* 下書きのまま投稿していなかったため投稿しました。

* 私が初めてアーキチームに参加した際に知りえたことです。基本かもしれませんが備忘録として残しておきます。

では、良いコーディングライフを!!

元記事を表示

[CakePHP]パスワードリマインダをつくったよ

#はじめに#
皆さんはパスワードを忘れたことはありますか?
私はあります。

そんな時に便利(?)なのがパスワードを忘れた方はこちらってやつですね。
いわゆるパスワードリマインダとかパスワードリセットとかいうやつです。
今回はCakePHPを使用し、それを作ります。

#いろいろなパスワードリマインダの方法#
##管理者向けパスワードリセット機能##
利用者は、パスワードを忘れた場合、管理者に問い合わせて対処してもらいます。
しかし、通常パスワードはハッシュ化されていて管理者さえもパスワードを知ることができないので、
通常はパスワードを再設定する方式が取られます。(今のパスワードがそのまま通知方式が採用されているならやばい)

パスワード再発行の順序として、

1. 問い合わせを受付、利用者の本人確認
2. 管理者がパスワードをリセットして、利用者に仮パスワードを伝える
3. 利用者は仮パスワードでログインして、直ちにパスワードを変更する

となります。

##利用者向けパスワードリセット機能##
こちらは利用者自らがパスワードをリセットします。
管理者向けパスワードリセット機能はすべ

元記事を表示

3分でわかるセキュリティ

# はじめに
これは基本情報技術者試験を勉強した際に「セキュリティ意外と面白い」と思ったことがきっかけに書いた記事です。
僕の専門ではないですm(__)m

(ちなみに僕の専門はReal Time Strategyです)

# セキュリティの三大要素
単にセキュリティといっても、攻撃の目的などはいくつかあります。多くの人(特にハッカーに憧れる子供とか)は攻撃と言うと情報を盗むことを想像するかもしれません。しかし、それ以外にも情報の改ざん・サービスの停止のために攻撃することもあるのです。
これから、情報の漏洩・改ざん・サービスの停止を狙う攻撃について、セキュリティ側が大切にするポイントを見ていきたいと思います。

## 機密性
これは情報の**漏洩がされない、情報が盗み出されない**ことを示す言葉です。例えば、あなたが今から国のサーバにアクセスして全国民の住所や氏名を入手したとしましょう。これは情報を盗み取っているから国のサーバの機密性は低いといえるでしょう。ほかにも、AさんからBさんへのメールの中身をあなたが盗み見た。これも情報漏洩といえます。

さて、これはどのようにして解決できるで

元記事を表示

Chromeでの「応答時間が長すぎます」エラーにハマった時は…..

##概要
メルカリのクローンサイトを作成する際にインフラ、デプロイ関係の担当をした者が沼にハマった部分を共有し、同じような状態から抜け出すための一助になればと思ったことが投稿するきっかけになります。
今回は、デプロイ完了後にIPアドレスでブラウザ(Chrome)からログインしようとしても「応答時間が長すぎます」エラーが頻発した際に、原因となった箇所について述べていきます。
AWSなどインフラ関係において、同じような状況で困っている方の一助に少しでもなれたら幸いです。

## 環境
– Rails v5.2.3
– Ruby v2.5.1
– Unicorn
– capistrano
– nginx
– mysql
– AWS, EC2(本番環境)

## ①まずはじめにセキュリティグループとは
今回、メルカリのクローンサイトを作成する際に用いたインフラ環境はAWS、EC2です。
その設定の中で、セキュリティーグループについて何点か調べて理解した箇所があるので、少しまとめてみようと思います。

1. ファイアーウォール機能として挙動する。
2. インスタンスごとに1つ以上のセキュリティ

元記事を表示

バッファーオーバーラン (バッファーオーバーフロー) の脆弱性をついた攻撃に入門する

# 0. 概要
脆弱性の基本的な存在、バッファーオーバーラン。簡単に言うと、メモリにロードされたプログラムを書き換えてしまうといったものである。
本来はバグであるものの、使い方によっては攻撃にも応用可能なため、脆弱性と呼ばれているわけである。今回はポインタの理解も含めて、C言語でバッファーオーバーランを説明する。

# 1. アドレス空間
アドレス空間について理解せずともバッファーオーバーランのプログラムを書くことはできるが、OSが提供するメモリ管理の基本なので概要だけでも掴んでおいた方が良い。
まず大きく分けて、アドレス空間にはカーネル空間ユーザ空間がある。

カーネル空間
カーネル空間は名前の通り、OS起動時にOSの重要な機能が読み込まれるメモリ領域のことである。
なお、Linux等の場合はカーネル空間→ユーザ空間(のプロセス)へ任意のシグナルを送ったりといった特権がある。

ユーザ空間
ユーザ空間は、プロセス(アプリケーション)起動時にそのプロセス情報が展開されるメモリ領域のことである。プロセス毎にページテーブルを持ってお

元記事を表示

「3分で理解するWEBプログラミングセキュリティ 01」 SQLインジェクションとは?

# 3分で理解するWEBプログラミングセキュリティ 01
**3分で理解するWEBプログラミングセキュリティ**
↓↓記事が出来次第Link貼って行きます↓↓
**No.01 SQLインジェクションとは?**
**No.02 クロスサイトスクリプティングとは?**
**No.03 クロスサイトリクエストフォージェリとは?**
**No.04 ディレクトリトラバーサルとは?**

#はじめに
プロかそうでないかの差とも言うべきでしょうか、未経験者と実務経験者の最大の差はセキュリテイに関しての意識だと思っております。
システムを作ることも大事ですが、守ることの方が大事です。
未経験者のポートフォリオにも最低限組み込んでおきたいセキュリティを簡単に紹介していきます。

1.SQLインジェクションとは?
・概要
・具体例
2.SQLインジェクション対策(PHPでの実装例)
・文字エンコーディングを指定する
・プレースホルダで実装する

##1.SQLインジェクションとは?
**概要**
 一般的に、入力フォームで入力した内容をSQL文に埋め込んで命令文を作成し、DB操作を行いま

元記事を表示

AWS WAF のアクセスログをとりあえず S3 で確認したい

今回は AWS WAF(Web アプリケーションファイアウォール)を利用するうえで、何かあったときに WAF のログを確認する方法を知っておきたい方という方へ、S3 Select でアクセスが拒否されたログを確認する方法をお送りします。

## AWS WAF のログ出力先について
Web アプリケーションを保護する目的で AWS WAF を導入した場合、WAF のログを Kinesis Data Firehose 経由で S3 に保存することができます。
そして、S3 に保存された WAF ログを S3 の機能である S3 Select を利用して確認することができます。

ちなみに、WAF のログの
出力先は Amazon S3、Amazon ElasticSearch、Amazon RedShift を指定できます。(2019年11月25日時点)
大量のログデータを確認する場合は、ElasticSearch と RedShift を選んでいきたいですね。

## WAFの設定方法
「WAF のアクセスログを Kinesis Data Firehose 経由で S3 に保存す

元記事を表示

【自分用】脆弱性への対処法②

##主な脆弱性
([脆弱性への対処法①](https://qiita.com/tarotaro1129/items/71fd835314a108834b5a))
・OSコマンド・インジェクション
・SQLインジェクション
・ディレクトリ・トラバーサル
・セッションハイジャック
(脆弱性への対処法②)
・クロスサイト・スクリプティング(XSS)
・クロスサイト・リクエストフォージェリー(CSRF)
・HTTPヘッダインジェクション
・クリックジャギング

##脆弱性の具体例と対策

###クロスサイト・スクリプティング(XSS)
XSSとは、動的にHTMLを生成する機能(JavaScriptなどによってHTMLが生成されている機能)において、悪意を持ったユーザーにHTML、JavaScript、CSSの変更がなされてしまうことです。

例えば、掲示板など自分の書いた情報が反映されるアプリがあるとした場合、

“`HTML