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

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

Zerologon (CVE-2020-1472) 「ドメインコントローラにパッチ適用を」

# はじめに

9/11(現地時間) に オランダのセキュリティ企業 Securaより Netlogon Remote Protocol (MS-NRPC) に関する脆弱性(Zerologon CVE-2020-1472) の情報が公開されました。

– [[Blog] Zerologon: instantly become domain admin by subverting Netlogon cryptography (CVE-2020-1472)](https://www.secura.com/blog/zero-logon)
(詳細は リンク先の [ホワイトペーパー](https://www.secura.com/pathtoimg.php?id=2055) 参照)

9/18 には米国土安全保障省(CISA) から行政機関に対しパッチ適用の[「緊急命令」](https://www.cisa.gov/blog/2020/09/18/windows-server-vulnerability-requires-immediate-attention)
が出てから、Twitter

元記事を表示

PHPのhtmlspecialcharsを使用する時は出力時だろ

#はじめに

少し前に、一緒に開発していた人物にPHPのhtmlspecialcharsを入力時に使用してサニタイズをしている人がいたので、出力する時に使用してくれといったら別にサニタイズする場所はどこでもいいとか言い出したのでビビるのを取り越して無になりました。
今回はそのhtmlspecialcharsについて説明します。

#目次
1. HTML特殊文字とHTMLエンティティ
2. htmlspecialchars
3. さいごに

#HTML特殊文字とHTMLエンティティ
● & (アンパサンド)
● ” (ダブルクォート)
● ‘ (シングルクォート)
● < (小なり) ● > (大なり)

上記の特殊文字はHTMLに通常通り記述することが出来ません。それに対応するためにHTMLエンティティと呼ばれるものがあります。HTML特殊文字を普通の文字として出力するためのものです。
そのために今回のPHPのhtmlspecialcharsを使用します。

#htmlspecialchars
PHPの関数であるhtmlspecialcharsは、HTMLの特殊文字をHTMLエンティテ

元記事を表示

【手動】バーチャル背景が適用された動画から部屋の背景画像を復元する話

## はじめに
最近は物理的なウイルスの影響で、自宅でビデオ通話をする機会が増えています。会議、飲み会、デートまで自宅で出来るので、家から出たくない族にとっては天国のような時間です。しかし、「ヤバイ!部屋がオタクグッズまみれ!!」といった状況も少なくありません。そんな時に使える神機能がバーチャル背景です。キモい背景を、デートに耐えうる爽やかな背景へ変更してくれます。
![bg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549585/c59a2732-a8c2-28b2-bf77-196dde9be8c4.png)[@Zoom](https://zoom.us/)

## 部屋の背景のセキュリティとバーチャル背景
部屋の背景は私たちが思っているよりも多くの情報を提供しているかもしれません。窓から電車が見える場合、線路の形状や電車の速度などから周辺駅はすぐに特定されます。特徴的な看板や建造物などはピンポイントで場所を教えているのと同じです。空が見える場合も危ないです。飛行機の航路はリアルタイムでトラッ

元記事を表示

セキュリティのCIA

#【セキュリティのCIA】

セキュリティのCIAについて忘れないためにメモとして残します。

##セキュリティ

セキュリティには、機密性、完全性、可用性の3大要素がある。
クラウドコンピューティングでもセキュリティの対策が非常に重要である。

情報セキュリティについて、ISO/IEC27000で「情報の機密性、完全性、可用性を維持すること」と定義されている。

###・機密性(Confidentiality)

許された者だけが、情報にアクセスすることが可能な状態を確保すること。

対策)アイデンティティの認証、ディジタル暗号化、機密性の対策全般など。

###・完全性(Integrity)

破壊や改ざん、データ消去がされていない状態を確保すること。

対策)なりすまし防止対策、不正防止対策など。

###・可用性(Availability)

いつでも情報が中断などなく、データやシステムにアクセスできる状態を確保すること。

対策)ファイアウォールで不正な通信を遮断する、サーバへの攻撃に対する対策を立てるなど。

元記事を表示

Mac上にTryHackMe用のKali Linux仮想環境を構築する

Tryhackme上の問題をKali Linuxで解きたかったけど色々ややこしかったので備忘録を兼ねて

“`shell:環境
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G5033
$ VBoxManage –version
6.1.12r139181
$ VBoxManage list vms | grep Kali
“Kali-Linux-2020.3-vbox-amd64” {0ab4e32c-80e6-4a48-8a77-63ddba2ea0bf}
“`

# Kali Linux仮想環境構築編
1. VirtualBoxのインストーラを[公式ダウンロードページ](https://

元記事を表示

[伝説のハッカー]の著書をよんでトラッキング対策をしてみた

# はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455763/6d3067b3-fc65-3d45-341e-e642718a8609.png)

[伝説のハッカーが教える監視社会から身を守る方法](https://www.amazon.co.jp/dp/B079XVYP7K/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)を先日、読んでみました。
内容としては伝説のブラックハッカーとして名をはせた**ケビン・ミトニック氏**が本気でネット上の活動をトラッキングされないようにするにはどうしたらいいのかということについて実体験を交えながら説明しています。
著者はブラックハッカーから更生してホワイトハッカーになっているので、善悪両方の視点から語ってくれているので興味深かったです。
**この本では様々なツールが紹介されていたのですが、実際にどうやって導入するのか等については記載されていなかったので、自分のUbuntu18.04に導入してみた

元記事を表示

AWSのやっておくべきセキュリティ対策

AWSのやっておくべきセキュリティ対策として、基本的なことだが 大事なことなのでまとめておこうと思います。

##AWS Identity and Access Management
###IAMによる認証
* rootユーザには、強力なパスワードと多要素認証(MFA)を設定
* 基本的には、rootユーザを使用しない
* rootユーザのAccess Keyが発行されていた場合は削除する
* IAMユーザのパスワードポリシーには強力なものを設定
* IAMユーザのパスワードやAccess Key/Secret Access Keyは定期的にローテーションする
* 認証情報の利用状況はIAMのCredential Report機能で定期的に確認

###IAMによる権限設定
* 全てのアクセスはデフォルトで拒否(Deny)となっているため、必要な権限のみ明示的に許可(Allow)設定を行う
* アクセス権限の優先度は `暗黙的なDeny(デフォルトDeny) < 明示的なAllow < 明示的なDeny` * IAMポリシーは最小限のアクセス権を付与 ###監査 * AWS Clo

元記事を表示

高専3年の夏、技術書典で本を出した。【セキュリティショートショート】

# はじめまして
高専3年の凛流レン(りんるれん)です。

SecHack365’20 学習駆動コース コンテンツゼミに参加しており、つよつよな方々に囲まれながらセキュリティを中心に勉強をしています。
SecHack365→ https://sechack365.nict.go.jp/

技術書典9にサークル参加しているので、なぜ本を執筆したのか・どのような流れで本を作ったのかなどを書こうと思います。

**本を出してみたい**と思っている方や**セキュリティに興味がある**方は是非見て下さい。

# 技術書典とは
技術書典→ https://techbookfest.org/
>新しい技術に出会えるお祭りです。
技術書典は、いろんな技術の普及を手伝いたいとの想いではじまりました。
技術書を中心として出展者はノウハウを詰め込み、来場者はこの場にしかないおもしろい技術書をさがし求める、技術に関わる人のための場として『技術書典』を開催します。

#どんな本を出したか
![セキュリティショートショート表紙.jpg](https://qiita-image-store.s3.ap-northe

元記事を表示

AWSの関連記事まとめ

自分用のまとめです。


### 構築
– 冴えないAWS環境の育てかた α
https://dev.classmethod.jp/articles/saenai-aws-1/
– AWS システム構築 非機能要件ヒアリングシートを公開してみた
https://dev.classmethod.jp/articles/survey-non-functional-requirement/


### 最適化
– AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ
https://qiita.com/tmknom/items/303db2d1d928db720888
– Well-Architected Toolを試してみた
https://qiita.com/kc_n/items/4b6e84e3b1113e4e37e5
– AWS Well-Architected フレームワークおよび AWS Well-Architected ツールが更新されたので、どこが変わったのかを調べてみた
https://dev.classmethod.jp/arti

元記事を表示

CodeQLをローカルPCで実行する。ついでにクロスサイトスクリプティングの脆弱性を発見する。

やること

1. CodeQL CLI をインストール
2. starter pack をダウンロード
3. 検査対象のプロジェクト(ソースコード)を用意
4. CodeQL データベースを作成する
5. CodeQL を実行してクロスサイトスクリプティングの脆弱性を発見する

Windows + Powershell の実行例を書いてるけど、他の環境でも同じようにできるはず。たぶん。

## CodeQLI CLI をインストール

[GutHub: CodeQL の Release ページ](https://github.com/github/codeql-cli-binaries/releases)から自分の環境にあったZIPファイルをダウンロードします。ZIPファイルを好きな場所に展開してください。

以下、`C:\ql\codeql` に展開した前提でコマンドを打っていきます。

“`powershell
PS C:\ql\codeql> ls
ディレクトリ: C:\ql\codeql
Mode LastWriteTime

元記事を表示

WordPressの自動更新(アップデート)を有効化する方法

##はじめに

WordPressの本体やテーマ・プラグインを常に最新バージョンに更新しておくことは、重要なセキュリティ対策となります。

というのも、ハッカーは古いバージョンで見つかった脆弱性を狙って不正アクセスを仕掛けてくるため、脆弱性が修正されている最新バージョンにしておけば防げるからです。

この記事では、簡単なカスタマイズにより、WordPressの本体・テーマ・プラグインを自動更新する設定方法を紹介します。

##WordPressの自動更新を有効化する方法

WordPressのfunction.phpに以下のコードを設置してください。
管理画面から、外観→テーマエディター→テーマファイルで編集できます。

“`function.php
//本体のメジャーアップデートの自動更新を有効化
add_filter( ‘allow_major_auto_core_updates’, ‘__return_true’ );

//本体のマイナーアップデートの自動更新を有効化
add_filter( ‘allow_minor_auto_core_updates’, ‘__return

元記事を表示

sudoポリス「誰だ! 本番環境でsudo suしてるのは!」

# ……なんて強く言ったりはしませんが

本番環境で `sudo su` や `sudo -s` を使うのはよくない、と私は思います。
異論はあると思いますし、環境にもよると思います。面倒くさいのは確かですし。他の人が管理しているところで「使うべき、使わなければならない」と主張したいわけではありません。

ただ、私が管理している環境では原則、使用禁止にしています。それぐらいよくないと思っています。

# なぜ sudo su はよくないのか

sudo su や sudo -s を使うと、それからはずっと root として作業できます。そうでない場合、何をするにもコマンドのはじめに sudo を書かなければならないわけで、これは本当に面倒くさい。

それでも毎回 sudo を使うのは、ひとえに実行ログを残せるからです。
sudo でコマンドを実行するたび、以下のような内容が `/var/log/secure` に記録されます。

“`:/var/log/secure
Aug 17 16:28:38 mx1 sudo: keys : TTY=pts/1 ; PWD=/home/

元記事を表示

個人向けLinux版アンチウイルスソフトの簡単まとめ

## え、EOL?

filunKは普段使いでLinuxノートPCを使用しているのですが。
この度、__愛用のアンチウイルスソフト Sophos Antivirus for Linux(SAV for Linux)が製品サポート終了__とのことです。
特にアナウンスらしいアナウンスはないですが、ダウンロードページが削除されている上、サポートに問い合わせたところ、

> 製品サポート終了のため、リンクを削除しました

とのこと。

[Sophos](https://www.sophos.com/)

ということで、移行先を見つけなければならないのですが。
なにしろ、Linux向けセキュリティソフト。法人向けではたくさん選択肢があるのですが(Sophos製品も、法人向けのSophos Centralの一部として、SAV for Linuxは継続らしいです)、個人向け製品となると中々情報が見つからず。

なので、簡単にまとめてみました。

## 無償製品

各アンチウイルスソフトの無償版・OSSが当てはまります。以前はLinux向けアンチウイルスは無償で色んな所から出ていた記憶なのですが、今

元記事を表示

データベースシステムを不正に操作する攻撃(SQLインジェクション)

“`
前提
プログラミング初学者(2~3ヶ月)が学んだ内容です。
実際の現場で通用しないことや間違った内容が含まれている可能性があります。
間違っている部分や浅い部分については追記やご指摘いただけると幸いです。
“`
#データベースシステムを不正に操作する攻撃(SQLインジェクション)
アプリケーションの不備を利用して、データベースシステムを不正に操作されることがあります。
このような攻撃方法をSQLインジェクションといいます。
SQLインジェクションの前にSQLとは何かについて先に解説します。
##SQLとは?
SQLはStructured Query Languageの略でデータベース言語です。
データベース言語とはデータベースとやり取りする時に使われる言語です。
例えば、
日本人に話すときは日本語を、ドイツ人に話すときはドイツ語をといったように、
データベースに何らかの処理をしてほしいときはデータベース語つまりSQLを使って指示して下さい。
ということです。
具体的な処理としては、データベースにデータを挿入したり、検索したりする時に使われます。
数万、数百万以上のデータであっ

元記事を表示

重要な処理(購入処理)における脆弱性と対策(CSRF)

“`
前提
プログラミング初学者(2~3ヶ月)が学んだ内容です。
実際の現場で通用しないことや間違ったことが含まれている可能性があります。
間違っている部分や理解が浅いと思われる部分についてはご指摘や追記いただければ幸いです。
“`

重要な処理に対する攻撃の1つ、CSRF(クロスサイトリクエストフォージェリ)についてまとめました。
重要な処理とは例えば、
掲示板への投稿や、メールの送信、ECサイトでの商品購入といった本来外部から実行されてはいけない処理のことです。
CSRFではこの重要な処理を攻撃者が正規利用者になりすまして使う(リクエストを送る)ことを言います。
#CSRFの仕組みと対策
**具体的にCSRFはどのようなことをされるのか**
Webアプリケーションには以下のような重要な処理が存在します。
・クレジットカードでの決済
・メールの送信
・パスワードの変更
こういった重要な処理を正規利用者になりすまして攻撃者が使えてしまいます。
##CSRF(クロスサイトリクエストフォージェリ)
攻撃者がユーザーのログイン情報を盗み出し(セッションハイジャック)脆弱性のあるWebアプ

元記事を表示

reCAPTCHAについてまとめてみた

みなさんこんにちはこんばんは。はすです。
今回は、初めてreCAPTCHAを実装したのでその際に学んだことなどを書いていこうと思います。
記事の中で間違っていることや自分の認識がおかしい所があればぜひコメントなどで教えてください。
##この記事でわかること
・reCAPTCHAとはなにか
・reCAPTCHAのバージョンの違い
##reCAPTCHAとはなにか
reCAPTCHAとは**Googleが無料提供しているbotと人間を区別するためのサービス**です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495589/597f81da-e2a7-3db9-d3d9-b922afd04531.png)
みなさんもこんなものを見たことがあると思います。これがreCAPTCHAです(厳密に言うとreCAPTCHA v2になります)
###導入するメリット
メリットとしては、reCAPTCHAがbotであると判断すると情報を送信させないようにしてくれるのでスパム対策になります。

ドルチェ&ガバガバだったドコモ口座を使った不正出金の手口まとめ

なかなか面白い金融事故が発生したみたいなので
まとめてみようと思います。

解説動画はこちら

[![表示されなかったらすみません](https://img.youtube.com/vi/xT3z6i6RHC4/0.jpg)](https://youtu.be/xT3z6i6RHC4)

## 不正出金被害が相次いで報告

`NTTドコモ`が提供する電子決済サービス「ドコモ口座」を利用して
銀行から不正に現金を引き出す被害が続出。

顧客に被害があったとしてドコモ口座への新規登録を
当面停止すると発表する金融機関は次のようなものがあります。

七十七銀行(宮城県仙台市)[https://www.77bank.co.jp/emergency/detail1.html](https://www.77bank.co.jp/emergency/detail1.html)
中国銀行(岡山県岡山市)[https://www.chugin.co.jp/news/789.html](https://www.chugin.co.jp/news/789.html)
大垣共立銀行(岐阜県大垣市)[htt

ドコモ口座の不正出金の方法についてまとめてみた

#ドコモ銀行被害のポイント

– ドコモ口座を持っていなくても被害にあう
– スマホがドコモじゃなくても被害にあう
– 自分がスマホや携帯を持っていなくても被害にあう
– 対象銀行に口座を持っていなければ大丈夫

メガバンクから地方銀行まで、それなりに有名な銀行は「対象銀行」に当てはまっている。
→つまり、普通に銀行口座を持っているだけで被害に合う可能性がある

#口座番号と名義と暗証番号はどうやって割られるのか?

「口座番号と名義」というのは、実質的に開示されているので実は簡単に誰でも知りえることができる。
振り込みの際に番号や名義を教えたりしますよね?
そんな感じで簡単にしることができてしまうのがこのポイント

さらに、暗証番号は4桁で組み合わせは1万通りしかないので総当たりすればヒットしてしまう。
ふつうは1つの口座に対して暗証番号を3回間違えるとロックがかかるが、これは**「1つの鍵穴に対して3回鍵を間違えるとドアが開かなくなる」**という仕組み
しかし、今回は**「1つの鍵をたくさんの鍵穴に挿してみて、たまたま開いたドアから盗む」**という方法を使用したと思われる。(現時点

「DDoS攻撃対策 トリロジー」第一回: DDoS攻撃は何?

—————————————————————————

**ヒント:この記事は2万文字を超えていますので、最後まで我慢してください。**

—————————————————————————

今日から新連載の技術記事が始まります。新連載の技術記事のテーマはDDoS攻撃研究関連ものということだ。DDoS攻撃研究関連ものはこの数年間私の一つ得意な分野です。私のインフラはすべてセキュリティを最優先考えな要件に設計されています。その「DDoS攻撃」は、もはや今インタネットとインフラで第一目そして最大のセキュリティ問題だ。

この一連の技術記事を始める前に、DDoS攻撃は何だろを知る必要があります。

**彼を知り己を知れば百戦殆うからず。**DDoS攻撃から防御するには、まずさまざまなタイプのDDoS攻撃の原理を知る必要があります。だから今回は、DDoS攻撃に対する効果的な防御方法を見つける方法と

rails + vue.js でテンプレートインジェクション対策をする 

## テンプレートインジェクションって?
テンプレートエンジンやjsのフレームワークを使用しているアプリケーションに対して、文字列展開される記法を利用して、santizeの漏れをつき任意のプログラムを実行させる攻撃方法の一つです。

広義のxssに近いような攻撃ですね。

例えばサーバーサイドをrails、フロントエンドをvue.jsという構成でアプリケーションが作成され、
一般ユーザーから入力を受け付けて表示する機能があるとします。

ここで悪意のあるユーザーが、攻撃対象のwebサイトが使用しているフロントエンドフレームワークをvue.jsだと仮定して攻撃します。
文字列の展開に使われる{{を使用して以下の文字列を入力してきました。

“`text
{{constructor.constructor(‘alert(1111111111)’)()}}
“`
現状のrailsの仕様だと、
部分的に文字列表示をrailsで行っている箇所で {{ マスタッシュがエスケープの対象になっていません。
なので、vue.jsのテンプレートと解釈されて中の文字列がjsとして実行されてしまいます。