Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

「AppleScriptセキュリティ実践ガイド」を発売

Posted on 11月 6 by Takaaki Naganoya

電子書籍の新刊を発売しました。「AppleScriptセキュリティ実践ガイド」です。PDF 562ページ、サンプルAppleScriptのZipアーカイブを添付。

→ 販売ページ

macOS上の各種機能を自由に呼び出せて、GUIベースのアプリの機能や情報を呼び出せる強力なAppleScriptは、ソースコードが読めない実行専用形式で、Scriptやアプレットとして公開可能です。

しかし、「暗号化済み」のように見える「実行専用形式」で保存されていたとしても、実際にはApple Events Codeという命令列の形で格納されており、文字列に関してはターミナル上でhexdumpやstringsコマンドによるダンプ出力が可能です。

さらに、昨今ではApple Events Codeそのものをダンプ(=内部の命令構造を可視化)するツールが登場。防衛用のツールですが、攻撃側もこれを利用できる状態にあります。

本書では、Apple Events Codeのダンプツールによってどのような情報が「抜かれ」、それらが実際にどのように見えるのかを詳細に検証しています。

実行専用のScript/アプレットで書き出した内容をダンプ(Apple Events Codeのダンプ)するapplescript-disassemblerと、その出力内容を読みやすく整形するaevt-decompileを用いて、さらにそれらを統合して使いやすくした統合ダンプツールをAppleScriptで開発。

対象フォルダ中のAppleScript書類を実行専用形式で書き出し、ダンプツールで解析して結果をテキスト書き出し……という作業フローを一括で行います。これを、さまざまな構造の複雑さを備えたテスト用AppleScriptに対して、さまざまなデータ型のデータを記述してどの程度漏洩するのか、しないのかを確認しています。

また、すべてのAppleScript予約語を含むサンプルScriptを作成し、個別にどのようにApple Events Codeにダンプされるかを掲載しています。

その上で、想定されるリスクと防止策を提示し、AppleScriptを安全に活用するための基礎資料としてご活用ください。

目次

1章 「実行専用」は安全なのか?

AppleScriptの概要と機能のひろがり/実行プログラムのひろがり/システム設定による機能制限/ヘックスダンプや文字ダンプで得られる情報/Apple Events関連の参考資料/コラム 本書掲載のAppleScriptリストの構文色分け設定について

2章 AppleScriptアプレットの構造

スクリプトエディタでアプレットを作成/書き出したアプレットの内部構造を追う/クラシックOS時代のアプレットのscptリソースの内容と比較

3章 Apple Eventダンプによる情報抽出

アップルスクリプトの完全なデコンパイルは無理/あくまでApple Events Codeとして解釈して読みやすくする/applescript-disassembler/aevt_decompile/統合分析ツールas_disassem+decompile/strings/hexdump

4章 実行専用スクリプトから漏れる情報の実態

Apple Events Code上で各データ型がどう見えるか?/プログラムの複雑さを変更して結果を調べる/アルファベット+数字/日本語の文字列/絵文字の文字列/真偽値/整数値/実数値/dateオブジェクト/数値のリスト(配列)/文字列のリスト(配列)/レコード/アプリケーションのオブジェクト/Xcodeで開発したAppleScrIptObjCアプリ

5章 情報漏洩をふせぐ技術的手法

安直なダンプで見えない形式でユーザー名やパスワードを記述/キーチェーンに情報を保存して内容を取り出すにしてもアクセス用キーワードは必要/データ暗号化の基礎①シフト暗号/データ暗号化の基礎②暗号表による換字式暗号/データ暗号化の基礎③多表式暗号と鍵のしくみ(ヴィジュネル暗号)/データ暗号化の基礎④「鍵」をさらに安全・自動的に扱う仕組みをもつOpenSSLによる現代暗号/プログラム難読化①データ形式変更/プログラム難読化②変数名絵文字置換/プログラム難読化③構造高度化

6章 安全な配布のための設計指針

アップルスクリプトの配布形態とかけられる労力の違い/配布時に最低限でもコード署名が必要。そのために開発者登録も必須/習熟のために経験しておきたいアプレットのオンライン配布

7章 AppleScriptのセキュリティ再考

最近発生したAppleScriptがらみの諸問題はメモリリーク/ユーザー名やパスワード、APIキーをスクリプト内に平文で記録すると危険/かつては可能だったアプリとAppleScript間の通信傍受もいまや不可能に/ネットワーク経由の操作は、途中で傍受される危険性も/AppleScript実行ツールで、埋め込みテキストのスクリプトを設定ファイルに平文保存?

8章 Apple Events Codeダンプ分析資料

全予約語を含む記述例を実行専用状態でApple Events Codeダンプ

9章 ダンプ結果から見る情報露出傾向と対策

コマンド、記述方法、データ型から読み解く露出傾向/script objectによるダンプ対策が有効/「OSAMiner事件」から再考されたAppleScript環境におけるセキュリティ対策/コラム 本書作成のために作成・使用したAppleScript

(Visited 26 times, 11 visits today)
Posted in Books news Security | Tagged 15.0savvy 26.0savvy | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • Numbersで選択範囲のセルの前後の空白を削除
  • macOS 26, Tahoe
  • macOS 15でも変化したText to Speech環境
  • KagiのWebブラウザ、Orion
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • macOS 15 リモートApple Eventsにバグ?
  • NSObjectのクラス名を取得 v2.1
  • 2024年に書いた価値あるAppleScript
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • (確認中)AppleScript Dropletのバグっぽい動作が解消?
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行
  • AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)
  • AVSpeechSynthesizerで読み上げテスト
  • macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される
  • 指定フォルダ以下の画像のMD5チェックサムを求めて、重複しているものをピックアップ
  • Numbersで選択中の2列のセルを比較して並べ直して書き戻す v2
  • Apple、macOS標準搭載アプリ「写真」のバージョン表記を間違える
  • Script Debuggerがフリーダウンロードで提供されることに
  • macOS 15.5beta5(24F74)でaliasのキャスティングバグが修正された???

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (158) 26.0savvy (21) CotEditor (66) Finder (52) Keynote (119) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (56) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Newt On Project
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC