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

今さら聞けないセキュリティ 2020年04月19日
目次

情報セキュリティの三大要素(機密性・完全性・可用性)と認証と認可

社内勉強会用にOAuthの資料を作ってたらついでに勉強したのでメモ

# 情報セキュリティの三大要素(機密性・完全性・可用性)
情報セキュリティの古典的なモデルで、超基本とのこと。
自分も過去に勉強した気がするけど忘れちゃいました?
[機密性・完全性・可用性 – ウェブセキュリティ | MDN](https://developer.mozilla.org/ja/docs/Web/Security/Information_Security_Basics/Confidentiality,_Integrity,_and_Availability) がわかりやすかったです。

## 機密性(Confidentiality)
権限のある人物だけが情報にアクセスできること。
逆の意味(権限のない人物は情報にアクセスできない)の文脈で使われることもある。
Webではパスワード認証などで実現されている。

## 完全性(Integrity)
正しい相手から情報が得られ、情報が改ざんされていないこと。
WebではHTTPS(SSL/TLS)などで実現されている。
正規のページでも、不正アクセスなどで改ざ

元記事を表示

Web Crypto APIでRSAプライベート鍵復号

#はじめに
ブラウザ側はRSAの公開鍵鍵で暗号化し、サーバ側(Node.js)はプライベート鍵で復号をしようとすると、下記のエラーが発生し、webcryptoモジュールを使って解消できました。
>Error: error:04099079:rsa routines:RSA_padding_check_PKCS1_OAEP_mgf1:oaep decoding error
at Object.privateDecrypt (internal/crypto/cipher.js:53:12)

#Web Crypto APIとは
仕様をまとめているページ:https://developer.mozilla.org/ja/docs/Web/API/Web_Crypto_API
ページにある警告の通り、慎重に対応する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/346425/209c17c0-746d-5cb2-b0a9-9c36a7fbe19a.png)

出典:htt

元記事を表示

ぼく「何度も聞かれるのでZOOMの”安全な設定”まとめ教えます」【待機室,2要素認証など】

#### 関連記事
■[急にZOOMを使うことになったあなたへ送るZOOMの基本的な使い方マニュアル](https://qiita.com/YukiiM/items/fde5e0aa4c8d45b36ff0)
 →使い方わからない人には「これ見ろ!」と言って渡してください。そういうのなかったので作りました。
## 結論
・ランダムパスワード生成
・URLにパスワードを埋め込まない
・待機室を有効にする
・2要素認証(2ステップ検証)設定する(管理者権限必要)
・参加者へのZOOMアカウントログイン強制

※設定画面はブラウザからを前提にしています。
## ほんとは調べてほしい

かえるくん「なぁ,会社でZOOM使い始めてんけど,なんかいろいろまずいらしいな」
ぼく「あー,ね。」

かえる「なんかGoogle検索でURLヒットするらしいな」
ぼく「まぁ,ね。」

かえる「色々調べたけど,SkypeとかTeamsの方がええらしいな」
ぼく「うーん…」(こいつ調べてないやん)

かえる「でも切り替え面倒やしZOOMの方がみんな使っとるやろ?やから安全な使い方教えてくれん?」
ぼく「えー,

元記事を表示

Unityのモバイルゲーム向けセキュリティ関連覚書

##免責事項
**この記事に記載されている内容を、実際に試して発生した損害に対していかなる責任も負いません(補償しません)。**
**すべて自己責任のもとで行ってください。**

リリースされているアプリやゲーム、[ソフトウェア利用許諾契約(EULA)](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E5%88%A9%E7%94%A8%E8%A8%B1%E8%AB%BE%E5%A5%91%E7%B4%84#%E3%83%AA%E3%83%90%E3%83%BC%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0)やアプリケーション利用規約などでリバースエンジニアリングは禁止されています。
実際に試す場合は、自分で開発しているアプリやゲームや脆弱性確認用でリリースされているアプリやゲームを使いましょう。

##はじめに
ハック(攻撃)と対策(防御)は表裏一体

元記事を表示

Ubuntu(18.04.3) SSH編

1.アップデート

“`
$sudo apt update
“`

これは基本毎回やる。

2.rootのパスワードを変更

“`
$ sudo passwd root
“`

Root権限のパスワードを設定。

ちょっと怖いので長めに設定します。

とりあえずRootにログインできました。

“`
$ sudo su –
“`

これでrootのプロンプトに切り替え。

viでここへ下記追記。

/etc/ssh/sshd_config

“`
+ PermitRootLogin no
“`

sshdを再起動すればrootのログインを無効にできます。

“`
$ systemctl restart ssh
$ failed to restart sshd.service unit sshd.service not found
“`

ファ!?

調べていくとそもそもopenssh-serverをインストールしなきゃいけない。

“`
$ sudo apt-get install openssh-server
“`

では

元記事を表示

深層学習のセキュリティ課題と論文まとめ

## モチベーション
近年の機械学習技術の精度向上はめざましく,中でも深層学習技術(deep neural network: DNN)は特に大きな成果を挙げている.DNNの社会実装も進んでおり,非常に広範な応用が期待される.一方で,一般的なプログラムとは実装方法が異なるがゆえのセキュリティ課題がいくつも提唱されており,その対策が急務である.本記事では,DNNのセキュリティ課題について,できる限り正確かつ網羅するようまとめる.

## 前提知識
一般的なDNNの訓練及び推論に関する基礎知識

## DNNとその周辺の定義
– $x$
DNNへの入力

– $y$
DNNの出力

– $t$
DNN訓練時の教師データ

– $\theta$
DNNのパラメータ(重み,バイアス等)

– $f(x, \theta)$
DNNモデルとその構造.入力$x$とパラメータ$\theta$を受け取り,出力$y$を計算する.
$y = f(x, \theta)$

– $D$
DNNモデルの学習・検証に用いるデータセット

ここで,DNNの訓練から推論までを図にまとめると以下のようになる.
訓練用パラメ

元記事を表示

リバースエンジニアリングバイブル(第3章)

#初めに
作って理解するOSと並行して、リバースエンジニアリングバイブルを
読んでいるので、備忘録として残します。

#クラスの解析
ECXに何か値を入れた直後に関数を呼び出しているコードがあれば、
クラスを使っている可能性が高く、ECXに入っている値は
thisポインタなので、それを注目して解析していく。

#コンストラクタ、デストラクタの解析
FSレジスタを使った例外処理コードや変数をまとめて初期化している
ようなコードがあればコンストラクタの可能性が高い。
また、コードの終わりに直前にECXレジスタを使ってメモリの解放を
行っているような箇所があればデストラクタの可能性が高い。

#仮想関数の解析
仮想関数は他の関数と違い、.rdataセクションに配置されてる
テーブルに保存されるので、.rdataセクションに関数ポインタを
見つけた場合、それが仮想関数だとわかる。

#終わりに
ここまで見ていただきありがとうございました。
何かおかしな点があればお教えください。

#参照
[リバースエンジニアリングバイブル 〜コード再創造の美学〜](https://www.amazon.co.

元記事を表示

コンビニ払いには十分注意しましょう

# TL;DR
– コンビニ払いは現金払いと同様に悪用できる(支払者の認証がない)
– ありがとうAmazon
– ありがとうWelnet
– Googleの広告は業者の適正さを表していない
– 物の適正価格は理解せよ
– それでも欲に負ける(泣)
– セキュリティネタですw

# 流れ
電子マネーのギフトカードは一般的になっており、オンラインでの取引もされています。
Amazonギフトカードなどが代表的なものでしょうか。

キングギフト https: //www .giftking .jp/ でギフトカード発注しましたがコンビニ払いを悪用してお金を騙し取られそうになりました。危ない危ない。
皆が気づくようにこのエントリを残します。

1. Googleでギフトカードの売買を検索すると引っかかる
2. サイトに行くと15%引きくらいでギフトカード販売している(その電子マネーは正規だと0.5%引き位で相当な値引き)
3. 購入するとメールが届く
4. その後セブンイレブン用コンビニ払いのリンクが届く。開くとセブンイレブンで払い込める画面が表示される

元記事を表示

「セキュアで堅牢なAWSアカウント」を実現する CloudFormationテンプレート – ⑥SSHとRDPのアクセスを制限する

# はじめに

AWSには、アカウントやリソースへの脅威検知に対応した、**AWS IAM Access Analyzer**, **AWS Security Hub**, **Amazon Inspector**, **Amazon GuardDuty**, **AWS CloudTrail**, **AWS Config** などのサービスが用意されています。

また、[**CIS AWS Foundations Benchmark**](https://d1.awsstatic.com/whitepapers/compliance/AWS_CIS_Foundations_Benchmark.pdf) という**セキュリティガイドライン**が公開されており、このガイドラインは、**AWSアカウントをセキュアに保つために必要なAWSのセキュリティ設定**を集めた**ベストプラクティス集**として活用できます。自身のAWSアカウントがこのガイドラインにどの程度準拠しているのかを確認/監査する手段として、**AWS Security Hub**で、**CIS AWS Foundation

元記事を表示

リバースエンジニアリングバイブル(第2章)

#初めに
作って理解するOSと並行して、リバースエンジニアリングバイブルを
読んでいるので、備忘録として残します。

#4つの関数の呼び出し規約

###①cdecl方式
関数本体ではなく、関数を呼び出した側がスタックを調整する方式。
関数呼び出し後の命令やpush命令を見て、引数の数を知ることができる。

###②stdcall方式
関数側のretrunを使ってスタックの調整を行う方式。
returnの値を見ることで、引数の数を知ることができる。

###③fastcall方式
スタックとEDX、ECXレジスタを使って引数を渡す方式。
push命令とEDX、ECXを見て引数の数を知ることができる。

###④thiscall方式
thisポインタをECXに入れる方式。
ECXに足されている値を見てメンバー変数等の
各種値を知ることができる。

#条件分岐とループの特徴

###if文
cmpで値を比較したあと、値が等しかった場合jnzで指定した位置に飛び、
命令を実行するのが基本。

###ループ文
例えば以下のようなfor文があった場合、

“`c++:for.cpp
for(

元記事を表示

新卒のセキュリティ研修用に使用したアプリケーションを公開します!【2020年度】

普段は**Fringe81株式会社**というWeb系の会社でアプリケーションの開発をしている [@oliver_diary](https://twitter.com/oliver_diary) です。
2020年度も始まり、新卒研修が各場所で行われていると思います。
**Fringe**でも、リモート上での研修が始まり、初めての環境で慣れないながらも、みんなで知恵を絞って協力しています。

私は、2020年4月から情報処理安全確保支援士になったこともあり、今回社内のセキュリティ新卒研修を担当しました。
そこで、今回使用した研修内容が参考になればと思い、実際に使用した自作のCTFみたいなアプリケーションを公開しようと思います。

# 自作アプリケーションについて
今回使用したアプリケーションは少し手を加えていますが、下記にて公開しています。是非みなさんも解いてみてください。
https://sec-kensyu-2020.web.app/

Screen Shot 2020-04-15 at 21.10.18.pngDoS攻撃いろいろ

#概要
サーバーに負荷をかけて妨害をするDoS攻撃について、どのような手法があるのかを調べました。

#DoS攻撃とは
DoS(Denial of Service)攻撃とは、サイバーの攻撃の1つであり、攻撃目標であるサイトやサーバに対して大量のデータを送り付けることで行われる攻撃。
受信側はトラフィックが異常に増大するため、負荷に耐えられなくなったサーバ等が落ちてしまいサービスを継続できなくなる。

#DoS攻撃の種類
###「フラッド型」
大量のデータを送り付けて、サービスを継続できなくする。

###「脆弱性型」
システムの欠陥を利用して、サービスを継続できなくする

#具体的な攻撃方法
###ICMPの脆弱性をつく「PoD(Ping of Death)攻撃」
ネットワークの疎通確認で使用されるプロトコル「ICMP」の脆弱性を利用する手法。
通常ICMPの通信はごく小さいパケットで行われるが、この攻撃では巨大なICMPパケットを送り付ける。
そうすることで、ICMPで巨大なパケットを受け取ることを想定していないシステムが動作不能になってしまう。

###新たな脆弱性を利用する「ゼロ

元記事を表示

「セキュアで堅牢なAWSアカウント」を実現する CloudFormationテンプレート – ⑤全てのVPCでフローログを有効化する

# はじめに

AWSには、アカウントやリソースへの脅威検知に対応した、**AWS IAM Access Analyzer**, **AWS Security Hub**, **Amazon Inspector**, **Amazon GuardDuty**, **AWS CloudTrail**, **AWS Config** などのサービスが用意されています。

また、[**CIS AWS Foundations Benchmark**](https://d1.awsstatic.com/whitepapers/compliance/AWS_CIS_Foundations_Benchmark.pdf) という**セキュリティガイドライン**が公開されており、このガイドラインは、**AWSアカウントをセキュアに保つために必要なAWSのセキュリティ設定**を集めた**ベストプラクティス集**として活用できます。自身のAWSアカウントがこのガイドラインにどの程度準拠しているのかを確認/監査する手段として、**AWS Security Hub**で、**CIS AWS Foundation

元記事を表示

研究室のサーバを自宅から使えるP2P型VPNの紹介

# はじめに

大学や職場からロックアウトされて、自宅で研究開発をしている人も多いのではないかと思います。
自宅にはノートPCしかなく、研究室のGPUを搭載したハイスペックなサーバを遠隔でよいので使いたい、、、ということも多いと思うので、それを可能にするP2P型のVPN(zerotierとtailscale)を紹介します。

# 注意

この文書では、「UDPパンチホーリング」を使ったP2P型のVPNを紹介します。特に大組織では、**セキュリティポリシーとしてP2P型のVPNの利用が禁止されている場合もあります**。使う前に確認しておきましょう。

# 通常のVPN

通常のVPNでは、VPNゲートウェイにグローバルIPアドレスを割り当てる必要があります。しかし、大学の研究室のように組織全体でNATが設置してあると、グローバルIP上でゲートウェイを公開できません。

![Normal VPN](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8035/e942a17a-54ba-bc9e-a694-31c3a0fe

元記事を表示

AWS EC2でサーバを構築 7 – セキュリティ対策

## 記事一覧

– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MySQL \

元記事を表示

PGが学ぶ情報セキュリティ

#情報セキュリティとは
ISO/IEC27001に、明確に定義されています。

**情報の機密性,完全性及び可用性を維持すること**

# セキュリティの三要素
情報セキュリティの定義に記載されている3単語を指します。
### 機密性
権限をもつ限られた者のみが、情報や資産を見たり触れたりできるように保護・管理されていること
 例)権限でアクセスが制限されているため機密性が高い

### 完全性
データの内容が正しい状態であること
 例)データの内容が改ざんされてないことが証明できたため完全性が高い
### 可用性
システムが継続して稼働できること
 例)障害が発生しても、システムが停止していないので可用性が高い

# 脆弱性を定量的に評価する方法
IPAが作成しているCVSS(共通脆弱性評価システム)を使って
脆弱性を定量的に評価することによって
開発者やシステム担当者に依存せず脆弱性の深刻度を知ることができる

# 対策
####入口対策
様々な攻撃を受けても侵入を防ぐこと
しかし、**人的要因を踏まえると完全に防ぐことは難しい**

– ファイアウォール
– ネットワークとの

元記事を表示

【LinuxSecurity】全ての一般ユーザのログインを禁止する

# はじめに
一般ユーザがログインする必要のないLinuxサーバの場合、そもそも最初からログインできないようにすれば安全。

## /etc/nologin
“`
# touch nologin
“`
再起動等は不要。CUIログイン等を試みるとユーザ名を入力した時点で「Login incorrect」と出力される。

元記事を表示

サイトのセキュリティ上の脅威

# 前提
個人おさらい用にまとめたもの

# クロスサイトスクリプティング (XSS)
> XSS は、攻撃者が Web サイトを通じて他のユーザのブラウザにクライアントサイドのスクリプトを挿入することを可能にする一連の攻撃を表すために使用される用語

# SQL インジェクション
> SQL インジェクションの脆弱性により、悪意のあるユーザはデータベース上で任意の SQL コードを実行することができ、ユーザの許可に関係なくデータへのアクセス、変更、削除ができる。

> SQL インジェクションの種類には、エラーベースの SQL インジェクション、ブールエラーに基づく SQL インジェクション、および時間ベースの SQL インジェクションがある。

## 脆弱性が存在するパターンの例

“`vim
statement = “SELECT * FROM users WHERE name = ‘” + userName + “‘;”
“`
> HTML フォームから提供された特定の名前(ユーザー) を持つすべてのユーザを一覧表示することを目的としています。

> ユーザが実名を指定

元記事を表示

個人でAWSのアカウントを作成してみた

直近の業務で使ったことがあったので、試しにアカウントを作成してみました!

現場ではすでにIAMユーザまでが用意されている状態でしたので、
今回最初からの設定は初めて触るものでしたのでとても厄介でした。

なお、IAMの設定(のちに出る安全のためにやること全部やるとこ)まで実施しています。
被害出ているようなので念のため。

説明については省略します。
※公式での説明の通り実施したので…

感じたことや、注意する点について述べていこうと思います。

ここでは最初のユーザを作るまでですので、
AWSでお金はかかっておりません。

#事前に用意すべきもの
・スマートフォン(電話番号が割り振られているもの)
・クレジットカード
・複雑なパスワード3つ(できれば紙媒体で)

#アカウントについて

まず初めにここを読みながら登録していきます。
https://aws.amazon.com/jp/register-flow/
※基本全部入力必須と考えてよいです。

##AWS アカウントの作成

「AWS アカウント名」はのちにルートユーザ名で使いますので任意の文字列でよいです。
ここで

元記事を表示

[月次配信] 月次攻撃サービスの統計及び分析 – 2020年3月

#はじめに
株式会社サイバーフォートレスでは攻撃サービス(ポート)情報を収集し、分析しています。
分析内容から、月次攻撃サービス(ポート)、月次攻撃サービスパターンのTOP10を確認し、過去データと比較し、攻撃トレンドへの対策を考えます。
セキュリティ担当者または、システム管理者はこのようなデータ分析を活用してサイバー脅威の予測に役立てていただければと思います。

#月次攻撃サービス(ポート)TOP 10
2020年3月の一か月間収取されたサービスポートTOP10では、IUA(TCP/9900), Unsigned(TCP/7178)ポートを利用したイベントが新しく確認できた、その他、HTTPS(TCP/443), DNS(TCP/53)を利用したイベントの順位が上昇し、DNS(UDP/53), Microsoft-DS(TCP/445)の順位は下落した。IUA(TCP/9900)ポートは内部のサーバ間の通信使使用されるサービスポートで、ファイアウォールから明確なユーザーオブジェクトを指定して使う必要がある。

| 順位 | サービス(ポート) | 比率(%) | 前月比較

元記事を表示

OTHERカテゴリの最新記事